Dynamics MCP Server
by kavingas
README.md
# Dynamics MCP Server
MCP server to query Microsoft Dynamics 365 CRM records and support workflows using streamable HTTP transport.
---
## Tools
| Tool | Description |
| --- | --- |
| `get_timeline_activities` | Fetch timeline activities (emails, calls, tasks, appointments, notes) for a CRM record GUID. |
| `get_cases` | Search support cases using an OData filter. |
| `search_cases` | Free-text relevance search across support cases, with fuzzy matching, ranked by relevance. |
| `get_case` | Fetch a single case by GUID or ticket number, including metadata and linked external tickets. |
| `get_case_external_tickets` | Fetch active external tickets linked to a case (GUID or ticket number). |
| `get_external_ticket_comments` | Fetch timeline-wall comments for one linked external ticket in a single call. |
| `get_contact` | Fetch a contact by GUID. |
| `get_account` | Fetch an account by GUID. |
| `execute_fetchxml` | Execute an arbitrary FetchXML query against a Dynamics entity collection. |
| `get_dynamics_user` | Look up a Dynamics system user's internal email address by GUID. |
| `help` | Return capabilities, example prompts, and setup requirements. |
---
## Authentication model
This MCP expects the CRM browser session to be forwarded per request:
- Header: `X-Session-Cookie: <full CRM cookie string>`
- Source URL: `https://adobe-ent.crm.dynamics.com`
The server does not store static credentials in environment variables.
---
## Installation
### Requirements
- Python 3.13+
- [uv](https://docs.astral.sh/uv/) (recommended)
### Local development
```bash
uv sync
uv run dynamics-mcp
```
### Claude Code setup
```bash
claude mcp add dynamics \
-- uvx --index https://sauronai.adobe.io/pypi/simple/ dynamics-mcp
```
### Cursor setup
Add to `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"dynamics": {
"command": "uvx",
"args": ["--index", "https://sauronai.adobe.io/pypi/simple/", "dynamics-mcp"]
}
}
}
```
### Codex CLI setup
Add to `~/.codex/config.yaml`:
```yaml
mcpServers:
dynamics:
type: stdio
command: uvx
args:
- --index
- https://sauronai.adobe.io/pypi/simple/
- dynamics-mcp
```
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing