模型上下文协议服务器

一个基于NestJS、Prisma和SQLite构建的模型上下文协议服务器,支持通过命令检索和修改用户模型上下文,并集成了OpenAI和Gemini LLMs以实现程序化命令触发。

  • by davidan90
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 davidan90/mcp_server

使用说明

MCP服务器POC

MCP(模型上下文协议)服务器的概念证明 NestJS, 棱镜,以及 数据库。它允许检索和修改 User 通过命令建模。

包括一个连接到OpenAI和Gemini LLM的AI连接器,用于以编程方式触发命令。


🚀 使用的技术


📦 安装

npm install

⚙️ 配置

1.创建 .env 文件

DATABASE_URL="file:./dev.db"
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=AIza...

2.生成数据库

npx prisma migrate dev --name init

🧪 种子样本(可选)

npx ts-node prisma/seed.ts

🏁 有用的脚本

npm run start:dev         # Run the server in development mode
npm run prisma:generate   # Generate Prisma client
npm run prisma:migrate    # Run database migrations

🧠 MCP端点

获取上下文

GET /mcp/context

更新上下文

PATCH /mcp/context

{
  "userId": 1,
  "isActive": false
}

执行命令

POST /mcp/commands

{
  "command": "deactivateUser",
  "args": { "userId": 1 }
}

🤖 LLM连接器

OpenAI(GPT-4+函数)

npx ts-node connectors/openai-mcp.ts

向GPT-4发送用户消息,并在需要时自动调用MCP命令。

双子座(谷歌人工智能)

npx ts-node connectors/gemini-mcp.ts

使用Gemini 1.5 Flash生成工具调用并执行MCP操作。


📁 项目结构

mcp-server/
├── src/              # NestJS backend
├── prisma/           # Prisma schema & seeds
├── connectors/       # AI-based external clients
├── .env              # API keys and DB
├── package.json

📬 联系

这个项目是一个概念验证,可以用更多的工具、验证层和LLM功能进行扩展。