Model Context Protocol (MCP)

Connect Project Feed directly to Claude Code, Codex, and other MCP clients with the hosted remote MCP server.

What It Is

Project Feed exposes a hosted MCP server so AI clients can discover authenticated tools, open curated workspace resources, fetch workflow prompts, and complete Project Feed IDs and enums over HTTPS. The server remains remote-only; you do not need to install the local packages/mcp-serverworkspace package to use the public integration.

Server URL

https://projectfeed.app/api/mcp

Use this public URL in supported MCP clients. Requests are proxied to the Convex HTTP router, but the canonical external endpoint is /api/mcp.

Authentication

The hosted endpoint supports both Project Feed API keys and MCP OAuth bearer tokens. Claude.ai and Claude Desktop should use OAuth for the hosted custom connector flow. API keys are for Claude Code, Codex, scripts, and other direct MCP clients.

Authorization: Bearer pf_live_YOUR_API_KEY
WWW-Authenticate: Bearer resource_metadata="https://projectfeed.app/.well-known/oauth-protected-resource"

API keys are not the default Claude.ai custom connector path. Use the browser-mediated OAuth flow unless you are configuring a direct MCP client yourself.

OAuth uses WorkOS AuthKit to authenticate the user. Project Feed workspace selection happens on MCP requests with the x-project-feed-workspace header. Single-workspace users bind automatically; otherwise send the workspace slug. A token locks to the first workspace it is used with.

x-project-feed-workspace: your-workspace-slug

Create the key in workspace developer settings. For MCP, create a dedicated key preset for the client you are configuring. A read-only preset is safest for browse-only assistants. Broader keys expose the matching create and update tools in tools/list. OAuth scope grants map to the same Project Feed permission strings.

Client Setup

Claude Custom Connector

Name: Project Feed
Remote MCP server URL: https://projectfeed.app/api/mcp
Advanced settings: Leave OAuth Client ID and OAuth Client Secret blank by default
Authentication: Sign in with OAuth; send x-project-feed-workspace for multi-workspace accounts

Advanced settings are optional because Project Feed supports Dynamic Client Registration (DCR). Add the connector with only the name and MCP URL, then complete OAuth sign-in. Single-workspace users are bound automatically. MCP clients that can send request headers should pass x-project-feed-workspace with the workspace slug. Without a header, the token locks to the first workspace it is used with.

Known limitation: Header-less hosted connectors cannot yet choose among multiple Project Feed workspaces. We plan to address this with WorkOS Organizations plus a workspace claim in the issued token.

If you manually pre-register an OAuth client, allow this redirect URI in your client configuration:

https://claude.ai/api/mcp/auth_callback

Claude Code via Claude.ai

1. Add Project Feed in Claude.ai at https://claude.ai/settings/connectors
2. Complete OAuth using the same Claude.ai account you use in Claude Code
3. Open Claude Code in your repo
4. Run /mcp
5. Confirm Project Feed appears as a Claude.ai-provided MCP server

The connectors screen shown in Claude.ai and Claude Desktop does not exist inside Claude Code. In Claude Code, connected Claude.ai servers show up through /mcp.

If Project Feed does not appear, make sure Claude Code is logged into the same Claude.ai account and is not started with Claude.ai MCP server sync disabled:

ENABLE_CLAUDEAI_MCP_SERVERS=false claude

Claude Code

claude mcp add --transport http project-feed https://projectfeed.app/api/mcp

Use this direct add flow only if you do not need the Claude.ai connectors UI or shared connector state across Claude clients.

Codex

codex mcp add projectFeed --url https://projectfeed.app/api/mcp
[mcp_servers.projectFeed]
url = "https://projectfeed.app/api/mcp"

[mcp_servers.projectFeed.headers]
Authorization = "Bearer pf_live_YOUR_API_KEY"

OAuth Discovery

https://projectfeed.app/.well-known/oauth-protected-resource
https://projectfeed.app/.well-known/oauth-authorization-server

Transport Flow

POST /api/mcp
MCP-Protocol-Version: 2025-11-25
Authorization: Bearer pf_live_YOUR_API_KEY

{ "jsonrpc": "2.0", "id": 1, "method": "initialize" }
Mcp-Session-Id: <value from initialize>

After initialize, include Mcp-Session-Id on follow-up POST /api/mcp, GET /api/mcp, and DELETE /api/mcp requests. SSE resume uses Last-Event-ID.

Supported Methods

  • initialize, ping, and notifications/initialized
  • tools/list and tools/call for the authenticated Project Feed API surface, with structuredContent and resource links in tool results
  • resources/list, resources/templates/list, and resources/read
  • prompts/list, prompts/get, and completion/complete

Current Limits

  • Sampling and elicitation are still deferred. Project Feed does not yet expose sampling/createMessage or elicitation/create.
  • The current curated resources are workspace overview, unread notifications, and per-item project, task, and post resources. The server does not mirror every REST endpoint as a resource.
  • OAuth authenticates the user through WorkOS AuthKit. Project Feed workspace context is selected by the x-project-feed-workspace request header, with automatic binding only for single-workspace users.
  • The server advertises MCP protocol 2025-11-25 and still accepts compatibility headers for 2025-06-18 and legacy 2025-03-26.

Need API key details or scope guidance first? Start with the Authentication guide.