d365-agent-mcpserver-ts
The Dynamics 365 AI Agent MCP Server (TypeScript) is designed to facilitate connections between AI agents and various tools, particularly for Dynamics 365 and other backend systems. It supports developers in defining custom tools and handling logic, offering a containerized solution for deployment.
Dynamics 365 AI Agent - MCP Server (TypeScript) (d365-agent-mcpserver-ts)
This repository contains the source code for a TypeScript/Node.js implementation of a Model Context Protocol (MCP) Server. This server can be used to expose various tools and functionalities to MCP-compliant clients.
Overview
The d365-agent-mcpserver-ts
is designed to act as a server that AI agents (like those built with LangGraph in d365-agent-orchestrator
) can connect to via an MCP client (such as d365-agent-mcpclient-ts
). It can expose tools related to Dynamics 365 or other backend systems.
Key Features & Responsibilities
- MCP Server Implementation: Implements the server-side requirements of the Model Context Protocol using the TypeScript MCP SDK (from
submodules/typescript-sdk/packages/mcp-server
or a corresponding npm package). - Tool Definition & Exposure: Allows developers to define and expose custom tools, specifying their input/output schemas and implementation logic.
- D365 Integration (Potential/Conditional):
- If used for Dynamics 365 integration, it would ideally consume a TypeScript D365 OData client generated by
d365-agent-odataclient-ts
. - Current Status Note: The
d365-agent-odataclient-ts
has known issues for D365 connectivity. Therefore, for D365 specific tools, thed365-agent-mcpserver-dotnet
(which uses a working .NET OData client) is the current primary and recommended MCP server in the D365 AI Agent architecture.
- If used for Dynamics 365 integration, it would ideally consume a TypeScript D365 OData client generated by
- Alternative Uses: This TypeScript MCP server can be valuable for:
- Exposing tools that interact with other (non-D365) backend systems, databases, or APIs.
- Implementing custom logic or computational tools that don't require D365 OData access.
- Serving as a lightweight MCP tool server if the
d365-agent-odataclient-ts
issues are resolved in the future.
- Containerization: Designed to be packaged as a Docker container for deployment.
Technology Stack
- TypeScript / Node.js
- Web framework for HTTP transport (e.g., Express, Fastify, or built into the MCP Server SDK).
- D365 Agent TypeScript MCP SDK (from
submodules/typescript-sdk
or its npm package). - Potentially
d365-agent-odataclient-ts
if used for D365 and issues are resolved.
Interaction Flow (General MCP Server)
- An MCP client (e.g.,
d365-agent-mcpclient-ts
fromd365-agent-orchestrator
) connects to this server. - The client can use
discoverTools
to get a list of available tools and their schemas. - The client sends an MCP
CallTool
request for a specific tool with parameters. - The
d365-agent-mcpserver-ts
executes the tool's implementation logic. - The result or error is packaged into an
McpResponse
and sent back to the client.
Getting Started
(Details to be added - typically involves cloning, Node.js/TypeScript setup, installing dependencies, defining tools, and running the server).
Refer to the implementation.md
in this repository for a detailed development plan.
Contribution
(Details on contribution guidelines if applicable).