TypeScript中的MCP服务器和客户端(Gemini集成)
此存储库演示了如何设置完整的 模型上下文协议(MCP) 服务器和客户端使用 TypeScript,以及谷歌的交互功能 Gemini 2.0闪存型号 在采样过程中。它涵盖了从工具和查询到资源模板、提示定义和用户输入的完整流程。
______________________________________________________________________
✨ 特性
- ✅ MCP服务器设置 (通过
@modelcontextprotocol/sdk) - ✅ MCP客户端 使用交互式CLI(
@inquirer/prompts) - ✅ 谷歌Gemini 2.0 Flash模型 整合
- ✅ 工具实施:在本地JSON文件中创建和存储用户数据
- ✅ 提示和采样 能力
- ✅ 查询和资源管理 使用MCP API
- ✅ 检查员支持 通过
@modelcontextprotocol/inspector - ✅ 终端输入 刀具参数
- ✅ MCP的Postman式UI易于调试
______________________________________________________________________
📂 项目结构
├── .vscode/
│ └── mcp.json # MCP Inspector config
├── src/
│ ├── client.ts # CLI client code
│ ├── server.ts # MCP server code
│ └── data/
│ └── users.json # User storage (via tool)
├── .gitignore
├── README.md
├── tsconfig.json
├── package.json
└── package-lock.json🧠 使用的技术
| 技术 | 目的 |
|---|---|
@modelcontextprotocol/sdk | 构建MCP服务器/客户端的核心SDK |
@modelcontextprotocol/inspector | MCP API测试的GUI检查器 |
@inquirer/prompts | 终端输入提示 |
Google Gemini 2.0 Flash | 用于生成/采样的AI模型 |
Zod | 架构验证 |
Node.js, TypeScript | 运行时和语言 |
🚀 入门指南
1.克隆仓库
git clone https://github.com/Sahil7475/mcp-server-and-client-ts.git
cd mcp-server-and-client-ts2.安装依赖项
npm install3.启动MCP服务器
npm run server:dev检查MCP服务器
npm run server:inspect使用监视模式构建和运行MCP服务器
npm run server:build:watch4.环境设置
创建一个 .env 文件,并添加您的Gemini API密钥:
GEMINI_API_KEY=your-gemini-api-key-here5.启动MCP客户端
npm run client:dev______________________________________________________________________
用例
- 学习如何将MCP与实际工具集成
- 通过MCP API创建和管理资源
- 使用Gemini 2.0 Flash通过提示模板进行采样/生成
- 模拟真实用户调用工具的CLI交互
- 使用MCP检查员进行测试和调试
______________________________________________________________________
未来的增强功能
- 添加更多工具(例如,更新/删除用户)
- 启用Gemini流媒体支持
- 用数据库替换本地JSON存储
- 添加身份验证以保护客户端-服务器交互
