feat(mcp): events.mukoko.com-only routing + tool titles/annotations + registry declaration - #95
Merged
Merged
Conversation
… registry declaration Three MCP hardening changes: 1. Single MCP domain. Remove the nhimbe.com/mcp worker routes — the MCP is served ONLY at events.mukoko.com/mcp (prod) / staging.events.mukoko.com/mcp. The APP stays dual-domain (nhimbe.com + events.mukoko.com both serve it); the MCP endpoint does not. Updates wrangler.toml routes + all docs that called nhimbe.com/mcp a live/legacy route (CLAUDE.md, worker/README, llms.txt, docs, RELEASES, the deploy skill, the security-reviewer agent). 2. Fully-built tool metadata (mcp-builder checklist). Every tool now carries a human-readable `title` and behavioural `annotations` — readOnlyHint / destructiveHint / idempotentHint / openWorldHint — so clients can label tools and gate confirmations correctly. Reads are read-only+idempotent; create_event is a non-read-only write; update_event is destructive (it can cancel). Threaded through `listToolDescriptors()` so both the legacy and modern (2026-07-28) `tools/list` advertise them. 3. MCP registry declaration. Add worker/server.json (name `com.mukoko/nhimbe-events`, a streamable-http remote at events.mukoko.com/mcp) and advertise the registry name from the worker status endpoint. NOT yet published — worker/README documents the mcp-publisher + DNS-namespace steps. Worker tests (31) and typecheck pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RH8QR1QYMnMHDDW62K2XSj
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
bryanfawcett
marked this pull request as ready for review
July 25, 2026 13:24
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
13 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nhimbe.com/mcpworker routes — the MCP is served only atevents.mukoko.com/mcp. The app stays dual-domain; the MCP endpoint does not.mcp-builderchecklist):title+ behaviouralannotationson every tool.server.json) — not yet published, with publish steps documented.Type of Change
Changes
1. Single MCP domain —
wrangler.tomldrops thenhimbe.com/mcpprod routes (staging →staging.events.mukoko.com). Docs that callednhimbe.com/mcpa live/legacy route are corrected:CLAUDE.md,worker/README.md,public/llms.txt,RELEASES.md, thedeployskill, and the security-reviewer agent.2. Tool titles + annotations — each of the 5 tools now has a human
titleandannotations(readOnlyHint/destructiveHint/idempotentHint/openWorldHint):events_near_me,events_matching_interests,get_eventcreate_eventupdate_eventThreaded through
listToolDescriptors()so both the legacy and modern (2026-07-28)tools/listadvertise them.3. MCP registry — new
worker/server.json(namecom.mukoko/nhimbe-events,streamable-httpremote atevents.mukoko.com/mcp); the worker status endpoint advertises the registry name. Not yet published —worker/README.mddocuments themcp-publisher+ DNS-namespace publish flow.Test Plan
cd worker && npm run test:run— 31)tsc --noEmit)server.jsonis valid JSON; markdownlint clean on changed docsAnswers to the questions you asked
@vercel/analytics→<Analytics/>inlayout.tsx). No Google Analytics/gtag, no Vercel Speed Insights, no PostHog. (Not changed here — tell me if you want GA or Speed Insights added.)server.jsonexisted). This PR adds the declaration; publishing is a one-timemcp-publisherstep needingcom.mukokoDNS-namespace verification (documented).🤖 Generated with Claude Code
https://claude.ai/code/session_01RH8QR1QYMnMHDDW62K2XSj
Generated by Claude Code