AI代理工具包

一个强大且可扩展的模型上下文协议(MCP)服务器,使AI代理能够与外部工具和服务交互,提供任务管理系统等功能。

  • by leandrozapata
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 leandrozapata/mcp-server-example

使用说明

🔌 MCP工具服务器-AI代理工具包

一个强大且可扩展的模型上下文协议(MCP)服务器,使AI代理能够与外部工具和服务进行交互。该实现提供了一个任务管理系统,演示了如何为AI助手构建和部署MCP兼容的工具。

🌟 什么是MCP?

模型上下文协议(MCP)是一种标准,允许AI模型与外部工具、数据源和服务进行交互。该服务器实现了MCP规范,使Claude和GPT等AI助手能够通过标准化的接口执行现实世界的操作。

✨ 特性

  • MCP兼容工具:即用型AI助手工具
  • 任务管理系统:创建、列出和完成任务
  • 双接口:同时使用MCP stdio模式和HTTP API
  • 可扩展架构:轻松添加新工具和功能
  • 开发者友好:清晰的文件和示例
  • 轻量级:内存存储,用于快速设置和测试

🛠️ 可用工具

1.创建任务

创建一个带有标题和描述的新任务。

参数:

  • title:String(必填)-任务的标题
  • description:String(必填)-任务的描述

2.列出任务

列出当前存储在内存中的所有任务。

参数:

  • status:String(可选)-按状态筛选:“全部”、“待处理”或“已完成”

3.未决任务

列出所有待处理的任务。

参数: 无

4.完成任务

将特定任务标记为已完成。

参数:

  • id:String(必填)-要标记为已完成的任务的ID

🚀 入门指南

先决条件

  • Node.js(v18或更高版本)
  • npm或纱线

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/mcp-server.git
cd mcp-server
  1. 安装依赖项:
npm install
  1. 构建TypeScript代码:
npm run build

🏃‍♂️ 运行服务器

MCP模式(适用于AI助手)

npm start

这将在stdio模式下运行服务器,使其与Claude for Desktop等MCP客户端兼容。

HTTP模式(适用于Web应用程序)

npm run http

默认情况下,HTTP服务器在端口3000上运行。您可以在以下网址访问它 http://localhost:3000.

使用自定义端口 PORT 环境变量:

PORT=8080 npm run http

🌐 HTTP API终结点

任务

POST /api/tasks

请求正文:

{
  "title": "Task title",
  "description": "Task description"
}

列出所有任务

GET /api/tasks?status=[all|pending|completed]

列出待处理任务

GET /api/tasks/pending

完成任务

PATCH /api/tasks/:id/complete

直接执行MCP工具

POST /api/mcp/execute

请求正文:

{
  "tool": "tool-name",
  "params": {
    "param1": "value1",
    "param2": "value2"
  }
}

🔮 构建自己的MCP工具

此服务器提供了一个模板,用于创建自己的MCP兼容工具。要添加新工具,请执行以下操作:

  1. 在中定义您的工具 src/tools 目录
  2. 在工具注册表中注册
  3. 执行必要的逻辑
  4. 如果需要,请更新HTTP API

查看现有工具,了解如何构建实现的示例。

🧪 使用AI助手进行测试

  1. 在MCP模式下启动服务器: npm start
  2. 使用MCP兼容的AI助手连接到服务器
  3. 人工智能现在可以使用可用的工具来管理任务:
    • 创建任务: create-task 带有标题和描述
    • 列出所有任务: list-tasks
    • 完成任务: complete-task 带有任务ID

🔄 与Web客户端集成

此服务器与 agent-client-example 该项目提供了一个与人工智能助手和MCP工具交互的web界面。

📋 未来的增强功能

  • 持久存储选项(MongoDB、PostgreSQL)
  • 认证与授权
  • 其他工具类别(文件管理、网络搜索等)
  • WebSocket支持实时更新
  • 工具执行指标和日志记录

📄 许可证

麻省理工学院


赋予人工智能代理真实世界的能力 🤖✨