Copilot代理演示项目

一个基于Express的轻量级演示项目,展示如何通过Model Context Protocol (MCP)使用Copilot代理,包括服务器和任务逻辑的实现与测试。

  • by lloydgam
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 lloydgam/mcp-demo

使用说明

副驾驶代理通过MCP

一个小型演示项目,展示了一个基于Express的最小服务器和任务代码,并通过测试演示了如何运行和验证功能。此存储库旨在作为通过模型上下文协议(MCP)使用复制代理的轻量级示例。

先决条件

  • Node.js(推荐v18+)
  • npm(与Node.js捆绑在一起)

安装

npm install

运行(开发)

直接启动服务器:

node src/server.js

没有 start 脚本在 package.json;运行上述命令以启动服务器。

运行测试

此项目使用 jest 和 supertest 用于测试。运行:

npm test

项目结构

  • package.json --项目清单和脚本
  • src/ --源文件
    • server.js --Express服务器入口点
    • tasks.js --任务相关逻辑(可导入模块)
  • tests/ --Jest测试
    • tasks.test.js --测试 tasks.js

端点

  • GET /tasks:检索所有任务。
    • 成功:200个JSON任务数组(每个任务都有 id, title, completed).
    • 示例:
      • 卷曲:
        curl 'http://localhost:3000/tasks'
        
      • JavaScript(获取):
        fetch('/tasks').then(r => r.json()).then(console.log)
        
  • GET /tasks/search?q=<query>:按标题搜索任务(不区分大小写的子字符串)。
    • 查询参数: q (必填)--搜索字符串。如果缺失或为空,则返回400和JSON { "error": "Query parameter q is required" }.
    • 成功:200个匹配任务的JSON数组(每个任务都有 id, title, completed).
    • 示例:
      • 卷曲:
        curl 'http://localhost:3000/tasks/search?q=buy'
        
      • JavaScript(获取):
        fetch('/tasks/search?q=buy').then(r => r.json()).then(console.log)
        

备注

  • 测试通过以下方式调用 test 脚本在 package.json (使用 jest).
  • 依赖关系包括 express, jest,以及 supertest.

贡献

  • 打开一个问题或发送一个拉取请求,并简要描述您的更改。

许可证

  • 该项目使用 ISC 许可证(参见 package.json).