API暴露工具

该工具通过MCP协议将现有API暴露给大型语言模型(LLM),帮助开发者在GitHub Copilot等AI助手中更高效地使用API功能。

  • by hamza-tou
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 hamza-tou/mcp-workshop

使用说明

研讨会-通过模型上下文协议(MCP)向LLM公开现有API

此存储库是一个车间支持,用于学习 设置MCP服务器 并展示一个的能力 API HTTP存在 在现实的开发环境中担任人工智能助理。

🎯 目标

在本研讨会结束时,您将能够设置一个功能性MCP服务器(Python或Java):

  • 声明和展示 工具MCP (LLM可调用的操作)
  • 声明和展示 资源MCP (LLM提供的数据)
  • 使用客户端(GitHub副驾驶)测试和验证MCP服务器
  • 提高LLM对MCP能力的理解和使用
  • 了解安全风险并优化MCP服务器的性能

✅ 先决条件

  • 发展环境 Python或Java
  • 知道如何使用终端(启动服务器、读取日志)
  • 基础知识:JSON、HTTP调用、函数/方法
  • GitHub副驾驶在VS代码中启用

📖 上下文-DataHub

您是开发人员 数据中心,一个维护集中内部服务的团队 文件编制技术,des 互联网指南 et des 有用的片段 对于开发团队。

DataHub公开 API HTTP存在,用于:

  • 后端开发人员
  • 支持团队
  • 数据团队

API可以工作,但不是为LLM设计的:

  • 太多的路线需要知道
  • 不明确的参数
  • 没有可自动使用的描述

因此,团队决定添加 本地MCP服务器独立于API,仅向AI代理(GitHub副驾驶)公开有用的功能。

建筑风格:

sequenceDiagram
    participant Dev as User (Dev)
    participant Copilot as MCP Client<br/>GitHub Copilot (local)
    participant MCP as MCP Server<br/>DataHubMCP Server
    participant API as DataHub API

    Dev->>Copilot: Question / action (ex: Résume les connaissances de datahub sur kubernetes)
    Copilot->>MCP: MCP request (ex: search-document kubernetes)
    MCP->>API: API call (ex: GET /documents?query=kubernetes)
    API-->>MCP: Documents as structured response (application/json)
    MCP-->>Copilot: MCP response (Natural language - Human/LLM friendly response)
    Copilot-->>Dev: Réponse contextualisée / action assistée

🔌 API 端点 - DataHub

  • GET /health -检查API是否正常工作
  • GET /documents -Lister les文件互联网(过滤器:标签、所有者、updated_after)
  • GET /documents/{doc_id} -恢复完整文档
  • GET /search -内容中的文本搜索(参数:q、范围、限制)
  • GET /snippets -列出可用片段(过滤器:类型、服务)
  • GET /snippets/{snippet_id} -获取精确的片段
  • GET /tags -列出所有使用的标签
  • GET /owners -列出拥有文档的团队

📁 项目结构:

mcp-workshop/
├── README.md                # Ce fichier
├── US 1 à US 6.md           # User Stories (exercices pratiques du workshop)
└── python/                  # Version Python du serveur MCP
└── java/                    # Version Java du serveur MCP
├── datahub_api/             # API DataHub (backend pré-existant)

🚀 快速启动

  1. 使用您选择的语言安装项目(Python指南 或 Java指南)
  2. 安装并启动DataHub API Python指南

过程:

  • 仔细阅读每个用户故事(US X-…MD文件)
  • 遵循指导副驾驶模式使用的说明
  • 在继续下一步之前,满足所有验收标准是有效的
  • 实验:不要犹豫尝试不同的提词公式,直到获得第一次有效的提词

📚 资源