Skip to main content
Glama

Meta MCP Server

The original MCP server that creates other MCP servers. Built before Anthropic shipped their own mcp-builder skill -- now modernized to align with MCP spec 2025-11-25 and SDK v1.27+.

What It Does

meta-mcp-server exposes tools that let an LLM (or any MCP client) scaffold, write, validate, and template new MCP server projects. Instead of manually setting up package.json, tsconfig.json, and boilerplate tool registrations, you describe what you want and meta-mcp-server writes it.

Related MCP server: Enterprise MCP Server

Tools

Tool

Description

meta_write_mcp_server

Write files for a new MCP server to disk

meta_list_templates

List available project templates

meta_get_template

Get full file contents for a named template

meta_validate_server

Validate that a directory is a well-formed MCP server project

All tools use explicit JSON Schema (via Zod), tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), and structured error responses for model self-correction.

Requirements

  • Node.js >= 18

  • npm

Installation

git clone https://github.com/DMontgomery40/meta-mcp-server.git
cd meta-mcp-server
npm install
npm run build

Usage

stdio transport (default)

npm start
# or
node build/main.js

Streamable HTTP transport

npm run start:http
# or
node build/main.js --http
# Listens on http://localhost:3000 (override with PORT env var)

Docker

docker build -t meta-mcp-server .
docker run -p 3000:3000 meta-mcp-server

Configure in Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "meta-mcp-server": {
      "command": "node",
      "args": ["/path/to/meta-mcp-server/build/main.js"]
    }
  }
}

Configure in Claude Code

claude mcp add meta-mcp-server node /path/to/meta-mcp-server/build/main.js

Templates

meta-mcp-server ships with ready-to-use templates:

  • minimal-stdio -- Minimal MCP server with one tool, stdio transport, TypeScript + Zod

  • http-dual-transport -- MCP server supporting both stdio and streamable-HTTP transports

Use meta_list_templates to browse, meta_get_template to retrieve, and meta_write_mcp_server to write.

Testing

npm run build
npm test

Tests use Node.js built-in test runner with the MCP SDK's InMemoryTransport for fast in-process testing.

Project History

This was one of the earliest MCP servers ever built -- a meta-server that creates other MCP servers. Anthropic later released their own mcp-builder skill (Apache 2.0). David Montgomery's was first. This v2.0 modernization aligns with current MCP spec and best practices while preserving the original vision.

License

MIT


Appendix: MCP in Practice (Code Execution, Tool Scale, and Safety)

Last updated: 2026-03-23

Why This Appendix Exists

Model Context Protocol (MCP) is still one of the most useful interoperability layers for tools and agents. The tradeoff is that large MCP servers can expose many tools, and naive tool-calling can flood context windows with schemas, tool chatter, and irrelevant call traces.

In practice, "more tools" is not always "better outcomes." Tool surface area must be paired with execution patterns that keep token use bounded and behavior predictable.

The Shift to Code Execution / Code Mode

Recent workflows increasingly move complex orchestration out of chat context and into code execution loops. This reduces repetitive schema tokens and makes tool usage auditable and testable.

Core reading:

For users who want reproducible and lower-noise MCP usage, start with a codemode-oriented setup:

Practical caveat: even with strong setup, model behavior can still be inconsistent across providers and versions. Keep retries, guardrails, and deterministic fallbacks in place.

Peter Steinberger-Style Wrapper Workflow

A high-leverage pattern is wrapping MCP servers into callable code interfaces and task-focused CLIs instead of exposing every raw tool to the model at all times.

Reference tooling:

Client Fit Guide (Short Version)

  • Claude Code / Codex / Cursor: strong for direct MCP workflows, but still benefit from narrow tool surfaces.

  • Code execution wrappers (TypeScript/Python CLIs): better when tool count is high or task chains are multi-step.

  • Hosted chat clients with weaker MCP controls: often safer via pre-wrapped CLIs or gateway tools.

This space changes fast. If you are reading this now, parts of this guidance may already be stale.

Prompt Injection: Risks, Impact, and Mitigations

Prompt injection remains an open security problem for tool-using agents. It is manageable, but not "solved."

Primary risks:

  • Malicious instructions hidden in tool output or remote content.

  • Secret exfiltration and unauthorized external calls.

  • Unsafe state changes (destructive file/system/API actions).

Consequences:

  • Data leakage, account compromise, financial loss, and integrity failures.

Mitigation baseline:

  • Least privilege for credentials and tool scopes.

  • Allowlist destinations and enforce egress controls.

  • Strict input validation and schema enforcement.

  • Human confirmation for destructive/high-risk actions.

  • Sandboxed execution with resource/time limits.

  • Structured logging, audit trails, and replayable runs.

  • Output filtering/redaction before model re-ingestion.

Treat every tool output as untrusted input unless explicitly verified.

Available Tools

1 tool
write_mcp_serverC

Write files for an MCP server based on our discussion with the user

ParametersJSON Schema
NameRequiredDescriptionDefault
outputDirYesDirectory where server files should be created
filesYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool writes files, implying a mutation operation, but does not address permissions, error handling, file overwriting behavior, or output format. This leaves significant gaps in understanding the tool's behavior beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized for the complexity, with no wasted information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (file writing with nested array parameters), lack of annotations, no output schema, and incomplete parameter documentation, the description is insufficient. It does not cover behavioral aspects, error cases, or detailed usage, making it inadequate for safe and effective tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only 'outputDir' has a description), and the description does not add any parameter-specific details beyond what the schema provides. It mentions 'files' generally but does not explain the structure or usage of the 'files' array. The baseline is 3 due to moderate schema coverage, but the description fails to compensate for the undocumented 'files' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('write files') and the target ('for an MCP server'), specifying the purpose as file creation based on user discussion. It lacks explicit differentiation from siblings, but since there are no sibling tools, this is not a deficiency.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance by mentioning 'based on our discussion with the user,' which implies usage context but does not specify when to use this tool versus alternatives, prerequisites, or exclusions. With no sibling tools, the lack of comparative guidance is less critical, but overall guidance remains vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • Addedwrite_mcp_server

TDQS

B3.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined as writing MCP server files based on user discussions, making it distinct by default.

Naming Consistency5/5

The single tool name 'write_mcp_server' follows a consistent verb_noun pattern (write + mcp_server). Since there is only one tool, naming consistency is inherently perfect with no deviations to assess.

Tool Count2/5

One tool is too few for a server named 'Meta MCP Server', which implies a broader scope or meta-level functionality. A single tool feels thin and limited, suggesting the server might be underdeveloped or narrowly focused beyond typical expectations.

Completeness2/5

The tool set is severely incomplete for a meta-level server. It only provides a write function without any complementary tools for reading, updating, deleting, or managing MCP servers, creating significant gaps that will hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DMontgomery40/meta-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server