MCP Integration

Cursor & remote setup

Configure Cursor's local MCP config, or skip the local server entirely with the remote HTTP MCP endpoint.

Cursor (local stdio)

intent setup

Choose Cursor when prompted. This writes or updates .cursorrules with the intentdocs integration reference and CONVENTIONS.md scaffolding, then prints the MCP registration snippet to add yourself — intent setup doesn't write Cursor's MCP config file directly.

Add the printed snippet to your Cursor MCP configuration (.cursor/mcp.json for a project-scoped server, or the equivalent global settings for all projects):

{
  "mcpServers": {
    "intentdocs": {
      "command": "npx",
      "args": ["intentdocs", "mcp"],
      "cwd": "/path/to/your/project"
    }
  }
}

Same command, same --mode flag, same tool/resource surface as the Claude Code local setup — this is the identical stdio server, just registered with a different client.

Remote (HTTP + OAuth)

If you'd rather not run a local Node process, IntentDocs also runs an MCP server directly on the web app:

https://intentdocs.com/api/mcp
  • Transport: Streamable HTTP (both POST and GET; DELETE closes a session).
  • Auth: Authorization: Bearer pb_cli_<token>. Requests without a valid bearer token get a 401 with a JSON-RPC error body and a WWW-Authenticate header pointing at the resource metadata document.
  • Discovery: standard OAuth 2.1 discovery endpoints are served at /.well-known/oauth-protected-resource/api/mcp and /.well-known/oauth-authorization-server, so any OAuth-aware MCP client can complete the flow without hardcoding endpoints.

Point any MCP-compatible client (Claude Code, Cursor, or others that support remote/HTTP MCP servers) at that URL instead of spawning a local process — no intentdocs package install required on that machine.

The remote server exposes a larger, always-on tool set than the local stdio server — see Tools & resources for the full breakdown and how the two currently differ. It does not expose the intentdocs:// resources — those are local-server-only, for now.