Public: anyone can read this; the crew can change it.

MCP `person`: a person's public profile and the repositories the caller may see #4805

shipped production is serving it opened this has it
opened this

Intent: an agent asked "what is @name working on?" answers from the forge, with the same privacy as the person's page.

Done:

  • [ ] src/http/mcp.ts has a person tool, placed right after explore, taking username, limit and cursor. It answers what GET /api/v1/users/:username and /api/v1/users/:username/repos answer for the same caller
  • [ ] a private repository the caller cannot see is never listed; an unknown username is not found
  • [ ] docs/MCP.md has its row beside explore
  • [ ] test/mcp-person.test.ts: a stranger sees only public repositories; a collaborator also sees the private one they were given; an unknown name is not found

Risks: test/mcp-size.test.ts holds tools/list under a 37,000-byte headroom, so keep the description to one short sentence. Other MCP tools are being added in parallel, so put this one exactly where named so the hunks do not meet. Do not change the API routes: the tool calls the same functions.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs