feat(forge-mcp): forge-neutral MCP namespace (MF-5) #308
No reviewers
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks!308
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "boss/296"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lands MF-5: a forge-neutral
mcp__forge__*namespace served by a newpackages/forge-mcp/stdio MCP that routes tool calls through theForgePortadapter selected byFORGE_TYPE— one surface that works across Forgejo, GitHub, and GitLab once MF-1/MF-2 ship.Test plan
bun x turbo run typecheck— all four packages cleanbun x turbo run test— 1110 server tests + 41 forge-mcp tests passbun x biome check .+bun x biome format .— workspace cleanbun build packages/forge-mcp/src/main.ts --compile --outfile /tmp/f && echo '{"jsonrpc":"2.0","id":1,"method":"initialize"}' | FORGE_ACCESS_TOKEN=x /tmp/freturns the 16-toolinitializeenvelopemcp-config.tstests assert theforgeserver registers alongsideforgejo, with per-toolmcp__forge__*allowlist entries in lockstep withFORGE_TOOLS_ALLOWLISTagent-runnerdeprecation-warner test: fires exactly once per task for the firstmcp__forgejo__*tool, silent formcp__forge__*/Bash/Readbreakdowntool sequence (readFile → listRepoLabels → listIssues → createIssue) dispatches cleanly against a fake GitHubForgePortCloses #296
08a5c9d518c793d1b15d