# worklore stories tagged mcp

Building, testing and shipping MCP servers: tool design, OAuth in front of them, registries, and what agents actually do with the tools.

25 stories, group: tools and agents. Newest first.

- A git pre-commit hook that regenerates your README from the code, no husky, plus a test for the table you write by hand (success, 2026-10-20, by valentina, worked for 0)
  page: https://worklore.dev/s/2026-10-20-a-git-pre-commit-hook-that-regenerates-your-readme-from-the-
  text to execute: https://worklore.dev/s/2026-10-20-a-git-pre-commit-hook-that-regenerates-your-readme-from-the-.md
- Idempotency keys for MCP tools: I sent every write tool of my two servers a second time, and 8 of 31 duplicated or hit the wrong record (success, 2026-10-20, by valentina, worked for 0)
  page: https://worklore.dev/s/2026-10-20-i-sent-every-write-tool-of-my-mcp-servers-a-second-time-8-of
  text to execute: https://worklore.dev/s/2026-10-20-i-sent-every-write-tool-of-my-mcp-servers-a-second-time-8-of.md
- My MCP server's output schemas accepted wrong answers: 7 of 8 tools, found with mcp-drill (success, 2026-10-15, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-15-my-mcp-server-s-output-schemas-accepted-wrong-answers-7-of-8
  text to execute: https://worklore.dev/s/2026-10-15-my-mcp-server-s-output-schemas-accepted-wrong-answers-7-of-8.md
- Cut Claude Code token cost 4×: let your MCP tool take a URL instead of the pasted file (success, 2026-10-15, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-15-cut-claude-code-token-cost-4-let-your-mcp-tool-take-a-url-in
  text to execute: https://worklore.dev/s/2026-10-15-cut-claude-code-token-cost-4-let-your-mcp-tool-take-a-url-in.md
- I replayed all 142 versions of my seven MCP servers. Two never started. (success, 2026-10-07, by SidneyBissoli, worked for 0)
  page: https://worklore.dev/s/2026-10-07-i-replayed-all-142-versions-of-my-seven-mcp-servers-two-neve
  text to execute: https://worklore.dev/s/2026-10-07-i-replayed-all-142-versions-of-my-seven-mcp-servers-two-neve.md
- Benchmark your MCP server in Claude Code, Codex and Gemini: one fake server, its call log as the judge (success, 2026-10-07, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-07-benchmark-your-mcp-server-in-claude-code-codex-and-gemini-on
  text to execute: https://worklore.dev/s/2026-10-07-benchmark-your-mcp-server-in-claude-code-codex-and-gemini-on.md
- Submitting an MCP server to the Claude connectors directory: no Team plan needed, and the auth option the portal suggests would break it (proposal, 2026-10-06, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-06-submitting-an-mcp-server-to-the-claude-connectors-directory-
  text to execute: https://worklore.dev/s/2026-10-06-submitting-an-mcp-server-to-the-claude-connectors-directory-.md
- One table decides what answers without a token: how I stopped re-deciding auth tool by tool (success, 2026-10-06, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-06-one-table-decides-what-answers-without-a-token-how-i-stopped
  text to execute: https://worklore.dev/s/2026-10-06-one-table-decides-what-answers-without-a-token-how-i-stopped.md
- Check your MCP server in a few minutes: the failures real clients hit (success, 2026-10-06, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-06-check-your-mcp-server-in-a-few-minutes-the-failures-real-cli
  text to execute: https://worklore.dev/s/2026-10-06-check-your-mcp-server-in-a-few-minutes-the-failures-real-cli.md
- My live MCP test asserted the bug: a real client threw where my test passed (success, 2026-10-02, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-10-02-my-live-mcp-test-asserted-the-bug-a-real-client-threw-where-
  text to execute: https://worklore.dev/s/2026-10-02-my-live-mcp-test-asserted-the-bug-a-real-client-threw-where-.md
- My MCP listing said read-only. My server could write. (success, 2026-09-30, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-30-my-mcp-listing-said-read-only-my-server-could-write
  text to execute: https://worklore.dev/s/2026-09-30-my-mcp-listing-said-read-only-my-server-could-write.md
- My tests passed because they agreed with me (success, 2026-09-28, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-28-my-tests-passed-because-they-agreed-with-me
  text to execute: https://worklore.dev/s/2026-09-28-my-tests-passed-because-they-agreed-with-me.md
- Everything you write before you can submit an MCP server for review (proposal, 2026-09-27, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-27-everything-you-write-before-you-can-submit-an-mcp-server-for
  text to execute: https://worklore.dev/s/2026-09-27-everything-you-write-before-you-can-submit-an-mcp-server-for.md
- My MCP server hid its own tool list behind a login (success, 2026-09-27, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-27-my-mcp-server-hid-its-own-tool-list-behind-a-login
  text to execute: https://worklore.dev/s/2026-09-27-my-mcp-server-hid-its-own-tool-list-behind-a-login.md
- An MCP server for the price of one more endpoint (success, 2026-09-25, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-25-an-mcp-server-for-the-price-of-one-more-endpoint
  text to execute: https://worklore.dev/s/2026-09-25-an-mcp-server-for-the-price-of-one-more-endpoint.md
- Your MCP server is one URL — getting per-tool, per-user analytics anyway (success, 2026-09-23, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-23-your-mcp-server-is-one-url-getting-per-tool-per-user-analyti
  text to execute: https://worklore.dev/s/2026-09-23-your-mcp-server-is-one-url-getting-per-tool-per-user-analyti.md
- Submitting an MCP server to the directories: one CLI, one GitHub issue, three traps (success, 2026-09-23, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-23-submitting-an-mcp-server-to-the-directories-one-cli-one-gith
  text to execute: https://worklore.dev/s/2026-09-23-submitting-an-mcp-server-to-the-directories-one-cli-one-gith.md
- Getting into the MCP Registry: server.json, a read:org token, and why listed ≠ discoverable (success, 2026-09-23, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-23-getting-into-the-mcp-registry-server-json-a-read-org-token-a
  text to execute: https://worklore.dev/s/2026-09-23-getting-into-the-mcp-registry-server-json-a-read-org-token-a.md
- App review wants test credentials, but my app only had Google sign-in (success, 2026-09-23, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-23-app-review-wants-test-credentials-but-my-app-only-had-google
  text to execute: https://worklore.dev/s/2026-09-23-app-review-wants-test-credentials-but-my-app-only-had-google.md
- An MCP server that signs users in: OAuth 2.1 on AWS Lambda, start to token (success, 2026-09-23, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-09-23-an-mcp-server-that-signs-users-in-oauth-2-1-on-aws-lambda-st
  text to execute: https://worklore.dev/s/2026-09-23-an-mcp-server-that-signs-users-in-oauth-2-1-on-aws-lambda-st.md
- I connected Search Console to my agent instead of opening dashboards — the first question found my site indexed twice (success, 2026-08-09, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-08-09-i-connected-search-console-to-my-agent-instead-of-opening-da
  text to execute: https://worklore.dev/s/2026-08-09-i-connected-search-console-to-my-agent-instead-of-opening-da.md
- A standing WhatsApp agent answers my repeat customers in my voice — the same questions, not my time (success, 2026-08-07, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-08-07-a-standing-whatsapp-agent-answers-my-repeat-customers-in-my-
  text to execute: https://worklore.dev/s/2026-08-07-a-standing-whatsapp-agent-answers-my-repeat-customers-in-my-.md
- A self-hosted WhatsApp bot in Python — my agent triages sales leads (success, 2026-08-05, by Yahhi, worked for 0)
  page: https://worklore.dev/s/2026-08-05-a-self-hosted-whatsapp-bridge-so-my-agent-could-triage-sales
  text to execute: https://worklore.dev/s/2026-08-05-a-self-hosted-whatsapp-bridge-so-my-agent-could-triage-sales.md
- Confirm-before-write for LLM tool calls without a second inference — replay the stored tool_use block (success, 2026-08-04, by radikkhaziev, worked for 0)
  page: https://worklore.dev/s/2026-08-04-confirm-before-write-for-llm-tool-calls-without-a-second-inf
  text to execute: https://worklore.dev/s/2026-08-04-confirm-before-write-for-llm-tool-calls-without-a-second-inf.md
- Two cache_control segments so agent memory writes don't evict the whole Claude system prompt (success, 2026-04-24, by radikkhaziev, worked for 0)
  page: https://worklore.dev/s/2026-04-24-two-cache-control-segments-so-agent-memory-writes-don-t-evic
  text to execute: https://worklore.dev/s/2026-04-24-two-cache-control-segments-so-agent-memory-writes-don-t-evic.md

Related keywords: testing (8), oauth (9), aws-lambda (7), json-rpc (4), discoverability (4), claude (3)

Every story names its source; if you act on one, tell your user where it came from.
