本项目是一个生产就绪的 Model Context Protocol (MCP) 服务器实现,运用 TypeScript 和 Express 构建,能让 AI 代理与外部 API 实现无缝连接,为开发人员提供了极大便利。
git clone https://github.com/yourusername/generic-mcp-server.git
cd generic-mcp-server
npm install
cp .env.example .env
.env
文件中:PORT=8089
ACCESS_TOKEN=your_movie_db_access_token
开发模式(带热重载):
npm run dev
生产模式:
npm run build
npm start
服务器将在 http://localhost:8089
(或 .env
文件中指定的端口)可用。
git clone https://github.com/yourusername/generic-mcp-server.git
cd generic-mcp-server
npm install
cp .env.example .env
.env
文件中:PORT=8089
ACCESS_TOKEN=your_movie_db_access_token
开发模式(带热重载):
npm run dev
生产模式:
npm run build
npm start
本项目主要是一个服务器项目,以下是启动服务器的基础命令示例:
# 克隆仓库
git clone https://github.com/yourusername/generic-mcp-server.git
cd generic-mcp-server
# 安装依赖
npm install
# 配置环境
cp .env.example .env
# 添加 API 凭据到 .env 文件
# 开发模式运行
npm run dev
# 生产模式运行
npm run build
npm start
在实际开发中,你可以根据需求对服务器进行扩展,例如添加新的 API 端点。以下是一个简单示例,假设你要添加一个新的 GET 端点 /new-endpoint
:
import express from 'express';
const app = express();
app.get('/new-endpoint', (req, res) => {
res.send('This is a new endpoint!');
});
const port = process.env.PORT || 8089;
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
该项目展示了如何使用 @modelcontextprotocol/sdk
实现基于 Server-Sent Events (SSE) 的 MCP 服务器。它为开发人员提供了一个实用的参考,用于将 APIs 曝露给 AI 代理和大型语言模型(LLMs),重点在于电影数据库交互。实现细节可在 src/mcp/tools.ts
、src/mcp/prompts.ts
、src/helpers/
目录及相关文件中找到。
Model Context Protocol (MCP) 建立了一个标准化接口,使 AI 模型能够安全高效地与外部系统交互。它定义了以下结构化的框架:
端点 | 方法 | 描述 |
---|---|---|
/sse |
GET | 用于 MCP 通信的服务器发送事件端点 |
/messages |
POST | 客户端向 MCP 服务器发送消息的端点 |
greeting://welcome
:静态欢迎消息users://{userId}
:动态用户数据资源该服务器实现了强大的电影数据库工具:
MCP 定义了一系列提示模板,用于指导 AI 代理与外部系统的交互。这些提示包括:
服务器内置了对知名电影数据库的访问接口,支持以下操作:
该项目使用 TypeScript 和 Express 构建,实现了基于 Server-Sent Events (SSE) 的 MCP 服务器。核心实现细节分布在多个文件和目录中,如 src/mcp/tools.ts
实现了具体的工具函数,src/mcp/prompts.ts
定义了提示模板,src/helpers/
目录包含了一些辅助函数。通过模块化架构,开发人员可以方便地对服务器进行扩展和维护。同时,使用 @modelcontextprotocol/sdk
实现了 MCP 规范,确保了与 AI 代理和大型语言模型的交互的标准化。
MIT