TypeScript MCP服务器骨架
建筑骨架工程 模型上下文协议(MCP)服务器 在TypeScript中。此模板提供了一个功能齐全的MCP服务器,由 FastMCP 这可以作为构建自己的MCP集成的起点。
特性
- ✅ 支持HTTP流媒体的FastMCP服务器
- ✅ 文档搜索和检索的示例工具
- ✅ 内置身份验证和会话管理
- ✅ Docker容器化用于开发和测试
- ✅ TypeScript用于类型安全和开发人员体验
- ✅ 使用Jest的全面测试套件
- ✅ ESLint和Prettier用于代码质量
什么是MCP?
模型上下文协议(MCP)允许AI助手安全地连接到数据源和工具。此框架可帮助您构建可以为AI客户端提供工具和资源的MCP服务器。
快速开始
先决条件
- Node.js 18+(见
.nvmrc如果使用nvm) - Docker(可选,用于容器化)
地方发展
- 克隆和设置:
git clone https://github.com/your-username/mcp-typescript-skeleton.git
cd mcp-typescript-skeleton
npm install- 构建项目:
npm run build- 启动服务器:
# For development with live reload
npm run start:dev
# For production mode
npm run start- 访问您的MCP服务器:
- FastMCP HTTP流媒体: http://localhost:8081/mcp ⭐ (适用于MCP客户) - 健康检查: http://localhost:8080/health - 察看连接信息: http://localhost:8080/info
- 测试您的服务器:
npm test- 打开你的代码:
npm run lintDocker开发
你也可以在Docker容器中运行服务器:
- 构建Docker镜像:
./build.sh- 运行容器:
./container-run.sh服务器将在与上述相同的URL上可用。
项目结构
src/
├── index.ts # Main server entry point
├── router.ts # HTTP API routes
├── controllers/ # HTTP API controllers
│ └── McpProviderController.ts
├── mcp-server/ # FastMCP server implementation
│ └── index.ts # MCP tools and server setup
├── utils/ # Utility functions
│ ├── auth-context.ts # Authentication utilities
│ └── request-timeout.ts # Request timeout handling
└── __tests__/ # Test files可用工具
骨架包括以下示例MCP工具:
add-添加两个数字(简单示例)
自定义您的MCP服务器
- 更新服务器配置 在
src/mcp-server/index.ts:
- 更改服务器名称和描述 - 更新您的用例说明
- 添加您自己的工具 按照以下模式
src/mcp-server/index.ts:
server.addTool({
name: 'yourToolName',
description: 'What your tool does',
parameters: z.object({
// Define your parameters with Zod schema
}),
execute: async (args, { session }) => {
// Your tool logic here
return 'Tool result';
},
});- 更新package.json:
- 更改名称、描述和存储库URL - 更新作者字段
认证
服务器包括基于会话的身份验证。API令牌可以通过 api-token header,并将按会话存储,以便在您的工具中使用。
环境变量
PORT-主服务器端口(默认:8080)MCP_PORT-FastMCP服务器端口(默认:8081)NODE_ENV-环境模式(开发/生产)
测试
该项目包括综合测试:
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch部署
建设生产项目:
npm run build
npm start构建的文件将位于 dist/ 目录。
贡献
- 复刻仓库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 跑
npm run lint和npm test - 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
资源
- FastMCP框架 -支持此服务器的框架
- MCP协议规范 -MCP官方文件
- MCP TypeScript SDK -官方SDK
