MCP Starter
An agent-ready TypeScript template for building Model Context Protocol (MCP) servers with standardized discovery flows and permission-aware tools. It provides pre-configured core and operable profiles to help developers quickly implement, test, and distribute production-ready MCP services.
README
MCP Starter
Agent-ready TypeScript MCP starter with two profiles:
core: minimal transport/runtime profile with one tool, one fixed resource, and one promptoperable: 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 transportnpx tsx src/index.ts: run directly from source mode (requires correct cwd)npm run catalog:generate: rebuild generated catalog artifacts from docs manifest + source seedsnpm run build: regenerate catalogs and build the package entrypointnpm run typecheck: run TypeScript validationnpm test: run deterministic unit testsnpm run protocol:sync: refresh the MCP protocol docs underdocs/protocolnpm run inspect: launch MCP Inspector against the local source servernpm run inspect:help: show MCP Inspector CLI optionsnpm 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://indexapp://catalog/toolsapp://catalog/resourcesapp://catalog/promptsapp://runtime/defaultsapp://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:
- Read
app://index - Read
app://catalog/tools - Read
app://runtime/defaults - Read
app://catalog/resourcesandapp://catalog/prompts - Use
app://usageor promptserver_usage_guidebefore 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_SIDMCP_DEFAULT_SERVICE_PROVIDER_SIDMCP_DEFAULT_REGIONMCP_DEFAULT_PAGEMCP_DEFAULT_COUNTMCP_PERMISSION_LEVEL(none,read,write,admin)MCP_DOCS_DIR
Behavior:
- if
MCP_DOCS_DIRpoints 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:
- source seeds in catalog-seed.ts
- the synced protocol docs manifest in docs/protocol/manifest.json
Inspector / DevTools
This starter includes integration with MCP Inspector.
- Run
npm run inspect - Open the Inspector URL shown in the terminal
- Inspect tools, fixed resources, resource templates, prompts, and ping behavior
Packaging and distribution
This package now includes:
- a
binentry (mcp-starter) - a constrained
fileswhitelist - repository, bugs, homepage, and license metadata
- a publish workflow template at publish.yml
- a publication checklist at publishing.md
Recommended execution modes:
- Source mode:
npx tsx src/index.ts(local development, cwd-dependent) - Package mode:
npx -y mcp-starter(stable client-facing command once published)
Skill
The reusable implementation workflow lives in skills/mcp-builder/SKILL.md.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。