MCP服务器

一个基于TypeScript/Node.js的Model Context Protocol (MCP)服务器,用于向MCP兼容的客户端暴露各种工具和功能,支持Dynamics 365或其他后端系统集成。

  • by ntrtd
  • 本地部署
  • 更新于
在 GitHub 查看 ntrtd/d365-agent-mcpserver-ts

使用说明

Dynamics 365 AI代理-MCP服务器(TypeScript)(d365代理mcpserver ts)

此存储库包含模型上下文协议(MCP)服务器的TypeScript/Node.js实现的源代码。此服务器可用于向符合MCP的客户端公开各种工具和功能。

概述

这 d365-agent-mcpserver-ts 被设计为充当人工智能代理的服务器(就像在中使用LangGraph构建的服务器一样 d365-agent-orchestrator)可以通过MCP客户端连接到(例如 d365-agent-mcpclient-ts).它可以公开与Dynamics 365或其他后端系统相关的工具。

主要特征和责任

  • MCP服务器实现: 使用TypeScript MCP SDK实现模型上下文协议的服务器端要求(来自 submodules/typescript-sdk/packages/mcp-server 或相应的npm包)。
  • 工具定义和曝光: 允许开发人员定义和公开自定义工具,指定其输入/输出模式和实现逻辑。
  • D365集成(潜在/有条件):
    • 如果用于Dynamics 365集成,理想情况下,它将使用由生成的TypeScript D365 OData客户端 d365-agent-odataclient-ts.
    • 当前状态说明: 这 d365-agent-odataclient-ts D365连接存在已知问题。因此,对于D365专用工具 d365-agent-mcpserver-dotnet (使用可工作的.NET OData客户端)是D365 AI Agent体系结构中当前主要和推荐的MCP服务器。
  • 替代用途: 这个TypeScript MCP服务器在以下方面很有价值:
    • 公开与其他(非D365)后端系统、数据库或API交互的工具。
    • 实现不需要D365 OData访问的自定义逻辑或计算工具。
    • 如果满足以下条件,则充当轻量级MCP工具服务器 d365-agent-odataclient-ts 问题将在未来得到解决。
  • 集装箱化: 设计为打包为Docker容器进行部署。

技术栈

  • Types/Node.js
  • 用于HTTP传输的Web框架(例如,Express、Fastify或内置于MCP服务器SDK中)。
  • D365代理TypeScript MCP SDK (从 submodules/typescript-sdk 或其npm包)。
  • 可能地 d365-agent-odataclient-ts 如果用于D365,问题就会得到解决。

交互流(通用MCP服务器)

  1. MCP客户端(例如。, d365-agent-mcpclient-ts 从 d365-agent-orchestrator)连接到此服务器。
  2. 客户可以使用 discoverTools 获取可用工具及其模式的列表。
  3. 客户端发送MCP CallTool 请求具有参数的特定工具。
  4. 这 d365-agent-mcpserver-ts 执行工具的实现逻辑。
  5. 结果或错误被打包成 McpResponse 并发送回客户端。

入门指南

(需要添加的细节-通常涉及克隆、Node.js/TypeScript设置、安装依赖项、定义工具和运行服务器)。 请参阅 implementation.md 在这个存储库中查看详细的开发计划。

贡献

(捐款指南的详细信息(如适用)。