该仓库包含多个基于 Model Context Protocol (MCP) 构建的应用后端服务器,旨在为大型语言模型 (LLM) 客户端(如 GitHub Copilot)提供结构化的上下文信息和功能。这些服务器通过标准化的方式托管资源、注册工具并支持Prompt模板,使LLM能够与外部系统进行交互。

主要功能点

该集合包含以下独立的MCP服务器,每个服务器提供特定的功能:

  1. API Tools MCP Server:

    • 功能: 提供强大的API集成和Web服务交互工具。
    • 主要工具: 'call_api' (进行带认证的API调用)、'fetch_openapi_schema' (获取和解析OpenAPI规范)、'get_openapi_endpoints' (列出OpenAPI端点)、'get_openapi_operations' (获取端点操作详情)、'get_openapi_operation_details' (获取特定操作详情)。
    • 支持认证: Bearer Token, Basic Auth, 交互式设备码认证。
  2. Azure DevOps MCP Server:

    • 功能: 连接到 Azure DevOps,将项目、代码仓库、工作项等暴露为资源,并提供相关操作工具。
    • 主要工具: 'listProjects' (列出项目)、'getRepositories' (列出仓库)、'getWorkItems' (查询工作项)、'createWorkItem' (创建工作项)、'listPullRequests' (列出拉取请求)、'createPullRequest' (创建拉取请求)、以及一系列Git命令工具(克隆、创建分支、提交、推送、状态等)。
  3. Kusto MCP Server:

    • 功能: 连接到 Azure Data Explorer (Kusto) 数据库,暴露表结构并提供数据分析工具。
    • 主要工具: 'executeQuery' (执行KQL查询 - 只读)、'getTableInfo' (获取表结构和示例数据)、'findTables' (查找表)、'analyzeData' (执行数据分析)。
  4. PDF Tools MCP Server:

    • 功能: 提供PDF文档处理能力,使AI助手能够提取和操作PDF内容。
    • 主要工具: 'extractText' (从PDF提取文本)、'fillPdfForm' (填充PDF表单字段)、'getPdfFormElements' (获取PDF表单元素)。

安装步骤

  1. 安装 Node.js 和 npm: 确保您的系统已安装 Node.js (18.0或更高版本) 和 npm (8.0或更高版本)。
  2. 克隆仓库: 将该GitHub仓库克隆到您的本地机器。
  3. 安装依赖: 在克隆的仓库根目录运行 'npm install' 来安装所有服务器的依赖。
  4. 构建项目: 运行 'npm run build' 来构建TypeScript代码。

服务器配置 (供MCP客户端使用)

MCP客户端(如集成在VS Code中的GitHub Copilot UI)需要知道如何启动这些MCP服务器进程。您需要根据您希望连接的MCP服务器,配置相应的启动命令。以下是每个服务器的启动命令示例,这些信息通常在MCP客户端的配置界面中指定:

  • API Tools MCP Server:

    • 描述: 提供API集成和OpenAPI交互工具。
    • 命令: 'npx'
    • 参数: '@mcp-apps/api-tools-mcp-server'
  • Azure DevOps MCP Server:

    • 描述: 提供Azure DevOps项目、工作项、代码仓库和流水线工具。
    • 命令: 'npx'
    • 参数: '@mcp-apps/azure-devops-mcp-server'
  • Kusto MCP Server:

    • 描述: 提供Azure Data Explorer (Kusto) 数据库查询和模式工具。
    • 命令: 'npx'
    • 参数: '@mcp-apps/kusto-mcp-server'
  • PDF Tools MCP Server:

    • 描述: 提供PDF文档文本提取和表单处理工具。
    • 命令: 'npx'
    • 参数: '@mcp-apps/pdf-tools-mcp-server'

注意: 启动这些服务器可能需要额外的配置(如环境变量)或进行交互式认证(例如,连接Azure服务时可能需要浏览器登录)。请参考每个服务器的具体文档(如果提供的话)或提示信息完成认证和配置。

基本使用方法

一旦MCP客户端配置并成功启动了相应的MCP服务器,LLM客户端就能够发现并调用服务器注册的工具。在支持MCP的LLM界面中,您可以直接通过自然语言或特定的语法来请求LLM执行服务器提供的功能,例如:

  • 向连接了Azure DevOps服务器的AI助手提问:“请列出我的Fabrikam组织中‘FabrikamFiber’项目的所有工作项。” AI助手可能会调用 'listWorkItemsTool' 工具。
  • 向连接了Kusto服务器的AI助手提问:“请查询Kusto数据库‘telemetrydb’中‘UsageEvents’表最近100条记录。” AI助手可能会调用 'executeQueryTool' 工具。
  • 向连接了PDF Tools服务器的AI助手提问:“请从文件 '/docs/report.pdf' 中提取第一页的文本。” AI助手可能会调用 'extractTextTool' 工具。
  • 向连接了API Tools服务器的AI助手提问:“请使用Bearer Token认证调用 'https://api.example.com/v1/users/me' 这个GET接口。” AI助手可能会调用 'call_api' 工具。

服务器将执行请求的操作,并通过MCP协议将结果返回给客户端,供LLM使用或展示给用户。

信息

分类

AI与计算