{
 "schema": "aiblocks-page/1",
 "id": "agency-specialized-mcp-builder",
 "type": "agent",
 "name": "MCP server planner",
 "summary": "Plan an MCP server so your AI can use your app or API. Get named tools, typed inputs, error rules and a test plan a developer can build from.",
 "headline": "MCP server planner",
 "subhead": "Tell it which app or data your AI should reach, and what it may do there. The agent plans the MCP server. You get each tool's name and inputs, how it logs in, what it returns when something fails, and how to test it.",
 "job": {
  "id": "connect-tools",
  "name": "Connect AI to your tools"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "source_text",
   "required": false,
   "label": "Source text",
   "what": "a long source in full: an article, a video or talk transcript, or notes from a book, with its title, author and link"
  },
  {
   "type": "api_spec",
   "required": false,
   "label": "Api spec",
   "what": "an API's spec, such as an OpenAPI file: the endpoints, data shapes, sign-in method and errors"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "code_change",
   "required": true,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "you_give": [
  "The app, data or API your AI should reach",
  "What the AI should do there, split into looking things up and changing things",
  "API docs or two real sample answers with private data removed (optional)",
  "Your language, TypeScript or Python, and whether it runs on your own computer or a server (optional)",
  "How login works, such as an API key or OAuth. Name the type only. Never paste a real key or token."
 ],
 "you_get": [
  "A tool list with a name, a one-line \"use when\" description, inputs and results for each tool",
  "Each tool marked as read-only or as one that changes data, with a confirm step for changes",
  "A setup plan covering language, how it connects and where secrets are kept",
  "Error rules for bad input, a down app and rate limits",
  "A test plan of real questions to ask an AI, and a list of checks not yet done"
 ],
 "use_when": [
  "You want Claude or another AI to look things up or act in your helpdesk, database or internal API.",
  "A developer asks \"what should the tools be?\" before writing any code.",
  "Your AI keeps calling the wrong tool or sending bad inputs, and you think the tool names and descriptions are the cause.",
  "You must decide if the server can only read, or can also create, update or delete."
 ],
 "skip_when": [
  "You only need clear names and descriptions for a few tools. Use the MCP tool set designer.",
  "You have an API spec and want working server code. Use the API to MCP server builder, or the TypeScript MCP server builder or Python MCP server starter builder.",
  "Your problem is how people sign in to the server. Use the MCP server sign-in builder."
 ],
 "output_sample": {
  "input": [
   "The app, database or API your AI should reach",
   "What the AI should read and what it may change",
   "API docs or sample answers (optional)",
   "Your language and where it will run (optional)"
  ],
  "prerequisites": [
   "An AI that reads pasted text, such as Claude, ChatGPT or Gemini",
   "A developer or Claude Code to build and run the server"
  ],
  "output": [
   {
    "name": "Job summary",
    "contains": "What the AI must do, which system it reaches and which actions only read."
   },
   {
    "name": "Tool list",
    "contains": "Each tool's name, when to use it, inputs with types and defaults, and what it returns."
   },
   {
    "name": "Resources and prompts",
    "contains": "Data the AI can read first and reusable prompt templates, only where they help."
   },
   {
    "name": "Setup plan",
    "contains": "Language, how the server connects, and where secrets are kept."
   },
   {
    "name": "Error and safety rules",
    "contains": "What each tool returns on failure, and which changes need your yes."
   },
   {
    "name": "Test plan",
    "contains": "Real questions to ask an AI, and the tool each one should pick."
   },
   {
    "name": "Open checks",
    "contains": "What was not verified or run, and how to check it."
   }
  ]
 },
 "output_shape": "JOB\n  System <app or API> | Reads <list> | Changes <list>\n\nTOOLS (one job each)\n  <verb_noun> | use when <one sentence> | inputs <name, type, default> | returns <shape> | <read-only or changes data>\n\nRESOURCES AND PROMPTS (only where they help)\n  <name or address> | <what it gives the AI>\n\nSETUP\n  Language <TypeScript or Python> | Connects by <on your computer or over the web> | Secrets <environment variable names>\n\nERRORS AND SAFETY\n  <failure> | <what the tool returns> | <what the AI should do next>\n  Changes that need your yes: <list>\n\nTEST PLAN\n  <question to ask a real AI> | tool it should pick | result it should give\n\nOPEN CHECKS\n  <what is unverified> | <how to check it>",
 "how_to_use": [
  "Add the pack to your AI as a skill. If you cannot, start a new chat and paste SKILL.md, then references/source-agent.md.",
  "Paste your brief. Say which app the AI should reach, what it should do there and what you know of the API. Leave out keys, tokens and customer data.",
  "Answer its questions. It asks once for anything missing, then marks the gap MISSING instead of guessing.",
  "Read the tool list first. For each tool, ask if a stranger could tell from the name and description when to use it.",
  "Hand the plan to a developer. Or ask for starter code and run it in Claude Code or a code editor. A chat cannot run or test a server.",
  "Run the test plan with a real AI. Send back any wrong picks so the descriptions can be fixed."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Python MCP server starter builder",
   "url": "https://useaiblocks.com/skills/copilot-python-mcp-server-generator",
   "why": "Python MCP server starter builder"
  },
  {
   "name": "C# MCP server builder",
   "url": "https://useaiblocks.com/skills/copilot-dotnet-mcp-builder",
   "why": "C# MCP server builder"
  },
  {
   "name": "Go MCP server starter builder",
   "url": "https://useaiblocks.com/skills/copilot-go-mcp-server-generator",
   "why": "Go MCP server starter builder"
  },
  {
   "name": "MCP server security reviewer",
   "url": "https://useaiblocks.com/skills/mcp-server-hardener",
   "why": "MCP server security reviewer"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/specialized/specialized-mcp-builder.md",
  "licence": "MIT",
  "original_name": "MCP Builder",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "MCP Builder",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/specialized/specialized-mcp-builder.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-specialized-mcp-builder",
  "markdown": "https://useaiblocks.com/agents/agency-specialized-mcp-builder.md",
  "json": "https://useaiblocks.com/agents/agency-specialized-mcp-builder.json",
  "instructions": "https://useaiblocks.com/skills/agency-specialized-mcp-builder/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-specialized-mcp-builder.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-specialized-mcp-builder",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-specialized-mcp-builder",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
