Connect Cursor to a Live Project Board over Hosted MCP (Streamable HTTP) Soheil Saheb-Jamii (Anymfah) has built Stellary's MCP surface, enabling AI hosts to connect to the same NestJS backend as the app via hosted Streamable HTTP at https://api.stellary.co/mcp. The setup guide details configuring clients like Cursor or Claude Desktop with OAuth or a read-only personal access token, then verifying access with list_projects and other read-only tools. Saheb-Jamii emphasizes starting with read-only scopes and notes that every call is rechecked against scopes, project membership, and agent status. I’m Soheil Saheb-Jamii Anymfah . I built Stellary’s MCP surface so an AI host talks to the same NestJS backend as the app — not a toy wrapper and not a local stdio process you have to babysit. This post is a setup guide. By the end you should have the endpoint in your client, a read-only credential, and one successful list projects call. Once connected, the host sees Stellary tools the same way it sees any other MCP server. Typical Agent loop: No separate daemon. No npx package. Transport is hosted Streamable HTTP at: https://api.stellary.co/mcp GET is useful for discovery / negotiation; POST carries MCP requests. The server creates a fresh transport per request, so clients that do not persist Mcp-Session-Id still work. Prefer OAuth when the client supports it. In Cursor or Claude Desktop-style configs, URL-only is enough — the client discovers Stellary, opens consent, and stores tokens. No PAT in the file. Drop that in ~/.cursor/mcp.json global or .cursor/mcp.json project , or the equivalent MCP settings UI. Restart / reload MCP tools until stellary shows as connected. If your client cannot complete OAuth, create a personal access token in app.stellary.co https://app.stellary.co under Account settings → API tokens. Start with: projects:read — boards, cards, documents, project context pilotage:read — cockpit and steering signals A PAT acts as you the human . Workspace membership and project access still apply on every call. Add write scopes only after the read path works. Put the secret in an environment variable — never paste a raw token into the article, git, or a shared gist: { "mcpServers": { "stellary": { Export STELLARY TOKEN in the environment that launches the IDE / MCP host. Revoke the token if it ever leaks. First read-only checks Ask the agent or call tools manually in this order. Stay on reads until the IDs look right. 1. list projects — confirm the workspace and project list match what you see in the app. 2. list cards or get project details with an exact project ID from step 1 — fuzzy name matching exists, but IDs are safer. 3. Cockpit — get cockpit dashboard or get pilotage state with pilotage:read — sprint / steering signals without opening the browser. If list projects fails with 401, the host is not sending a valid Bearer OAuth session expired, missing header, or env var not visible to the client process . Fix auth before adding write scopes. Tools overview board / cockpit / missions Exact tool lists depend on identity and installed plugins. At a high level: | Area | What you use it for | Examples | | --- | --- | --- | | Board | Inspect and change delivery work | list projects , list cards , get card details , create card , move card , assign card , add comment | | Cockpit | Supervision and steering | get pilotage state , get cockpit dashboard , get agent status , list pending proposals | | Missions | External agent loops against queued work | stellary init , get next mis Full registry and edge cases live in the docs — this post is the minimum path to a live read. Permissions worth remembering - PAT = human identity. Same access you have in the UI, narrowed by token scopes. - Start read-only: projects:read + pilotage:read . - Writes: add projects:write / pilotage:write only when you need them. - Every call is rechecked: scopes, project membership, agent status, and mission context stay authoritative. Suspending an agent or revoking a token takes effect immediately. Links - Docs: https://stellary.co/docs/mcp/ https://stellary.co/docs/mcp/ - Repo: https://github.com/Anymfah/stellary-mcp https://github.com/Anymfah/stellary-mcp - App: https://app.stellary.co https://app.stellary.co Cover image note Use a screenshot of the Stellary Kanban board from the app columns + cards . Upload it as the Dev.to cover; keep the path/filename local to your editor — do not invent a CDN URL here. --- That’s the whole first mile: URL in mcp.json , OAuth or STELLARY TOKEN , then list projects → cards → cockpit. If something breaks, check Bearer format and that the MCP host process can see the env var before you dig into tool names.sion / wait for mission , complete mission , fail mission | Interactive use with a human PAT: board + cockpit first. Queued missions and most plugin tools GitHub, Slack, etc. fit better with a dedicated agent token and the agent’s autonomy policy approval / supervised / autonomous . Humans act as themselves; agent proposal rules apply to agent tokens. "url": "https://api.stellary.co/mcp", "headers": { "Authorization": "Bearer ${env:STELLARY TOKEN}" } } } } { "mcpServers": { "stellary": { "url": "https://api.stellary.co/mcp" } } }