内容
# MCP Server
一个 Model Context Protocol (MCP) 服务器的 TypeScript 实现,旨在评估 MCP 在与 RAG (Retrieval-Augmented Generation) 方法结合时的能力,适用于 [Nutrimate](https://github.com/samrasugu/nutrimate) 和其他 AI 应用。
## 概述
该项目探索了 Model Context Protocol 作为 RAG 系统的替代方案,为 AI 应用提供了一种标准化的方式来访问外部数据源和工具。服务器使用 TypeScript、Node.js 和 [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk) 构建。
## 特性
- **TypeScript 优先**:全面支持 TypeScript,提升开发者体验
- **MCP 协议**:通过 Anthropic 的 TypeScript SDK 实现 Model Context Protocol
## 先决条件
- Node.js (v18 或更高版本)
- npm 或 yarn
- TypeScript 知识(推荐)
## 开始使用
1. **克隆仓库:**
```bash
git clone https://github.com/samrasugu/mcp-server.git
cd mcp-server
```
2. **安装依赖:**
```bash
npm install
```
3. **开发模式:**
```bash
npm run dev
```
4. **构建项目:**
```bash
npm run build
```
5. **启动生产服务器:**
```bash
npm run start
```
## 环境变量
设置以下环境变量(或在您的 MCP 文件中配置它们):
- `GOOGLE_PUBLIC_API_KEY`:您的 Google API 密钥
- `GOOGLE_CALENDAR_ID`:您的 Google 日历 ID(例如,您的 Gmail 地址)
您可以在 `.env` 文件中设置这些变量:
```
GOOGLE_PUBLIC_API_KEY=your-google-api-key
GOOGLE_CALENDAR_ID=your-calendar-id
```
## 使用
### 获取今天的会议
要直接在终端中打印今天的会议:
```bash
node src/index.js today
```
## 与 Cursor MCP 和聊天交互的集成
该项目支持与 [Cursor MCP](https://www.cursor.so/mcp) 的集成,使您能够通过聊天与服务器交互并自动化工作流程。
### 1. 在 Cursor 中配置 MCP 服务器
1. 打开 Cursor 并进入 MCP 面板。
2. 添加一个新的 MCP 服务器,设置如下(示例):
- **名称**:[您的名字]的日历
- **命令**:`node`
- **参数**:`src/index.ts`
- **主机**:`localhost`
- **端口**:`3000`
- **环境变量**:根据需要设置 `GOOGLE_PUBLIC_API_KEY` 和 `GOOGLE_CALENDAR_ID`。
您还可以创建一个 `.cursor/mcp.json` 文件以快速设置。
`.cursor/mcp.json` 文件的内容应如下所示:
```json
{
"servers": [
{
"name": "[您的名字]的日历",
"command": "node",
"args": ["src/index.ts"],
"host": "localhost",
"port": 3000,
"env": {
"GOOGLE_PUBLIC_API_KEY": "your-google-api-key",
"GOOGLE_CALENDAR_ID": "your-calendar-id"
}
}
]
}
```
### 2. 启动 MCP 服务器
在本地运行服务器:
```bash
node src/index.ts
```
或使用 MCP 面板的内置控件来启动/停止服务器。
### 3. 通过聊天进行交互
- 在 Cursor 中打开聊天面板。
- 从聊天源下拉菜单中选择您的 MCP 服务器(例如,“Sam's Calendar”)。
- 提问,例如:
- `我今天有会议吗?`
- `我的下一个事件是什么?`
- `列出本周的所有会议。`
- 服务器将根据您的 Google 日历提供信息。
### 4. 自定义
您可以扩展服务器以支持更多命令或与其他工具集成。更新 `src/index.ts` 并重启服务器以应用更改。
## 项目结构
```
mcp-server/
├── src/
│ └── index.ts # 主要服务器实现
├── package.json # 依赖和脚本
├── tsconfig.json # TypeScript 配置
└── README.md # 本文件
```
## 开发
该项目正在积极开发中,作为评估 MCP 与 RAG 系统的比较的一部分。随着评估的进展,实施可能会演变。
### 可用脚本
- `npm run dev` - 启动带热重载的开发服务器
- `npm run build` - 构建 TypeScript 项目
- `npm run start` - 启动生产服务器
- `npm test` - 运行测试(待实现)
## MCP 与 RAG 评估
该服务器正在开发中,以评估 Model Context Protocol 相较于传统 RAG 方法在 AI 应用中的有效性,特别关注:
- **性能**:响应时间和资源使用
- **灵活性**:添加新数据源和工具的难易程度
- **可维护性**:代码组织和可扩展性
- **集成**:与现有 AI 工作流程的兼容性
## 许可证
MIT
连接信息
猜你喜欢
everything-claude-code
完整的 Claude Code 配置集合 - agents、skills、hooks、commands、rules、MCPs。来自 Anthropic...
Firecrawl
Firecrawl MCP Server 实现了网页抓取、爬虫和内容提取功能。
MarkItDown MCP
MarkItDown-MCP是一个轻量级服务器,用于将URI转换为Markdown。
cc-switch
跨平台的Claude Code、Codex和Gemini CLI一体化助手。
Agent-Reach
赋予你的AI Agent观察整个互联网的眼睛。读取并搜索...
servers
# 模型上下文协议服务器