MCP Starter MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add mcp-starter -- npx -y mcp-starter
README.md

Agent-ready TypeScript template for building Model Context Protocol servers

MCP Starter

Agent-ready TypeScript MCP starter with two profiles:

  • core: minimal transport/runtime profile with one tool, one fixed resource, and one prompt
  • operable: recommended default profile with discovery resources, resource templates, usage guidance, runtime defaults, and permission-aware examples

Commands

  • npm run dev: start the operable server profile with stdio transport
  • npx tsx src/index.ts: run directly from source mode (requires correct cwd)
  • npm run catalog:generate: rebuild generated catalog artifacts from docs manifest + source seeds
  • npm run build: regenerate catalogs and build the package entrypoint
  • npm run typecheck: run TypeScript validation
  • npm test: run deterministic unit tests
  • npm run protocol:sync: refresh the MCP protocol docs under docs/protocol
  • npm run inspect: launch MCP Inspector against the local source server
  • npm run inspect:help: show MCP Inspector CLI options
  • npm run pack:dry-run: verify package contents and publish surface

Implementation Plan

The detailed implementation and hardening plan lives in OPERABLE_MCP_IMPLEMENTATION_PLAN.md.

Profiles

Core profile

Available through createCoreMcpServer() in src/server.ts.

Includes:

  • tool: echo
  • resource: app://status
  • prompt: summarize

Operable profile

Default profile through createMcpServer() and startServer().

Adds:

  • fixed resources:
    • app://index
    • app://catalog/tools
    • app://catalog/resources
    • app://catalog/prompts
    • app://runtime/defaults
    • app://usage
  • resource templates:
    • app://doc/{slug}
    • app://schema/{id}
    • app://example/{name}
  • prompt:
    • server_usage_guide
  • permission-aware tool:
    • admin_echo

Discovery flow for agents

Recommended order:

  1. Read app://index
  2. Read app://catalog/tools
  3. Read app://runtime/defaults
  4. Read app://catalog/resources and app://catalog/prompts
  5. Use app://usage or prompt server_usage_guide before non-trivial calls

This prevents unnecessary discovery when runtime defaults already exist.

Runtime defaults

The operable profile exposes environment-derived defaults through app://runtime/defaults.

Supported environment variables:

  • MCP_DEFAULT_ACCOUNT_SID
  • MCP_DEFAULT_SERVICE_PROVIDER_SID
  • MCP_DEFAULT_REGION
  • MCP_DEFAULT_PAGE
  • MCP_DEFAULT_COUNT
  • MCP_PERMISSION_LEVEL (none, read, write, admin)
  • MCP_DOCS_DIR

Behavior:

  • if MCP_DOCS_DIR points to a valid docs corpus, app://doc/{slug} reads markdown files from that location
  • if not, docs templates stay discoverable but return a deterministic “docs unavailable” response

Permission model

The starter demonstrates permission-first execution in admin_echo:

  • the tool remains visible in discovery
  • permission is checked before endpoint-specific validation
  • blocked calls return a semantic permission error instead of a premature schema failure

This models the “visible vs usable” distinction real agent-facing servers need.

Docs-derived generated artifacts

Generated modules live in src/generated/:

They are rebuilt by tools/generate-catalog.ts using:

Inspector / DevTools

This starter includes integration with MCP Inspector.

  1. Run npm run inspect
  2. Open the Inspector URL shown in the terminal
  3. Inspect tools, fixed resources, resource templates, prompts, and ping behavior

Packaging and distribution

This package now includes:

  • a bin entry (mcp-starter)
  • a constrained files whitelist
  • repository, bugs, homepage, and license metadata
  • a publish workflow template at publish.yml
  • a publication checklist at [publishing.md](/Users/qrsof/Documents/benjamin/devclusters/workspaces/@dyxbenjamin/AI/mcp-starter/docs/publishing.

Tools (2)

echoA simple echo tool available in the core profile.
admin_echoA permission-aware echo tool that checks authorization before execution.

Environment Variables

MCP_DEFAULT_ACCOUNT_SIDDefault account SID for runtime configuration
MCP_DEFAULT_SERVICE_PROVIDER_SIDDefault service provider SID
MCP_DEFAULT_REGIONDefault region setting
MCP_PERMISSION_LEVELSets permission level (none, read, write, admin)
MCP_DOCS_DIRPath to a valid docs corpus for resource templates

Configuration

claude_desktop_config.json
{"mcpServers": {"mcp-starter": {"command": "npx", "args": ["-y", "mcp-starter"], "env": {"MCP_PERMISSION_LEVEL": "read"}}}}

Try it

Summarize the server capabilities using the summarize prompt.
What is the current status of the application?
Can you echo back my message using the admin_echo tool?
Show me the available tools and resources provided by this server.
Read the usage guide to understand how to interact with this MCP server.

Frequently Asked Questions

What are the key features of MCP Starter?

Standardized discovery flow for AI agents. Permission-aware tool execution model. Support for fixed resources and resource templates. Environment-derived runtime defaults. Built-in integration with MCP Inspector.

What can I use MCP Starter for?

Rapidly prototyping new MCP server implementations. Building production-ready MCP services with standardized discovery. Implementing permission-gated tools for secure agent interaction. Creating documentation-driven MCP resources from markdown files.

How do I install MCP Starter?

Install MCP Starter by running: npx -y mcp-starter

What MCP clients work with MCP Starter?

MCP Starter works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep MCP Starter docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare