Dynamics Partner Advisor
An MCP server for finding and comparing Microsoft Dynamics 365 implementation partners. Features tools to search by industry/region, get detailed partner profiles, and generate personalized shortlists for new projects.
Dynamics Partner Advisor MCP
Model Context Protocol server for Microsoft Dynamics 365 partner selection
Overview
The Dynamics Partner Advisor is a Model Context Protocol (MCP) server that provides AI agents with powerful tools to help organizations find and compare Microsoft Dynamics 365 implementation partners. This server implements the standard MCP protocol using Server-Sent Events (SSE) transport, enabling intelligent partner selection based on product expertise, industry specialization, geographic coverage, and customer reviews.
✓ Standard MCP Server: This is a fully compliant MCP server using JSON-RPC 2.0 over SSE transport. Compatible with all MCP clients including Claude Desktop, MCP Inspector, and custom implementations.
Agents can use these tools to assist users in:
- Searching for partners by product, location, and industry
- Getting detailed information about specific partners
- Receiving personalized shortlist recommendations
Available Tools
search_partners
Search for Microsoft Dynamics partners based on product, country, city/region, industry, and review criteria.
MCP Tool:
tools/call with name: "search_partners"
Legacy REST: POST https://topdynamicspartners.com/api/mcp/search_partners (still available)
Parameters:
- product (required): Product code or name. Examples: "business-central", "Business Central", "dynamics-365-sales"
- country (required): ISO country code or country name. Examples: "US", "CA", "United States", "Canada"
- cityOrRegion (optional): City name or state/region code. Examples: "California", "New York", "CA"
- industry (optional): Industry code or name. Examples: "manufacturing", "Manufacturing", "professional-services"
- min_review_score (optional): Minimum review rating (0.0-5.0). Example: 4.0
- max_results (optional): Maximum number of results to return. Default: 3, Maximum: 5
How to get valid values: Use GET https://topdynamicspartners.com/api/listings/metadata/reference?type=products for products,GET https://topdynamicspartners.com/api/listings/metadata/reference?type=industries for industries. See the "Getting Valid Parameter Values" section below for details.
Example JSON-RPC Call:
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_partners", "arguments": { "product": "business-central", "country": "US", "cityOrRegion": "California", "industry": "manufacturing", "min_review_score": 4.0, "max_results": 5 } } }
Legacy REST: Send the arguments object directly to POST /api/mcp/search_partners
get_partner_details
Get comprehensive details about a specific partner including products, industries, services, strengths, and use cases.
MCP Tool:
tools/call with name: "get_partner_details"
Legacy REST: POST https://topdynamicspartners.com/api/mcp/get_partner_details (still available)
Parameters:
- slug (required): Partner slug or business name (kebab-case or partial match). Examples: "acme-dynamics-solutions", "acme dynamics"
Note: The slug is matched against business names using partial matching. You can use the business name directly (e.g., "Acme Dynamics Solutions") or a slugified version (e.g., "acme-dynamics-solutions").
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get_partner_details", "arguments": { "slug": "acme-dynamics-solutions" } } }
Legacy REST: Send the arguments object directly to POST /api/mcp/get_partner_details
recommend_shortlist
Get personalized partner recommendations based on company size, product needs, industry, region, project type, and complexity. Returns up to 5 recommendations sorted by relevance score.
MCP Tool:
tools/call with name: "recommend_shortlist"
Legacy REST: POST https://topdynamicspartners.com/api/mcp/recommend_shortlist (still available)
Parameters:
- company_size (required): One of: "small", "mid", "enterprise"
- primary_product (required): Product code or name. Examples: "business-central", "Business Central"
- industry (required): Industry code or name. Examples: "manufacturing", "Manufacturing"
- region (required): Country code (e.g., "US", "CA"), country name, or "North America" (matches US, CA, MX)
- project_type (required): One of: "new", "upgrade", "rescue", "extension"
- complexity_level (required): One of: "simple", "moderate", "complex"
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "recommend_shortlist", "arguments": { "company_size": "mid", "primary_product": "business-central", "industry": "manufacturing", "region": "US", "project_type": "new", "complexity_level": "moderate" } } }
Legacy REST: Send the arguments object directly to POST /api/mcp/recommend_shortlist
Manifest
The MCP manifest is available at:
https://topdynamicspartners.com/.well-known/mcp.json
Integration
This MCP server uses Server-Sent Events (SSE) transport. To integrate with your MCP client:
MCP Endpoints:
- SSE Connection:
GET https://topdynamicspartners.com/api/mcp/sse - JSON-RPC Messages:
POST https://topdynamicspartners.com/api/mcp/messages
Connection Flow
- Establish SSE Connection: Connect to
GET https://topdynamicspartners.com/api/mcp/sse- Server returns a session ID in the
X-Session-IDheader - Connection remains open for bidirectional communication
- Server returns a session ID in the
- Send Initialize Request: Send JSON-RPC
initializemessage via POST to/api/mcp/messages- Include
x-session-idheader with the session ID from step 1 - Server responds via the SSE stream
- Include
- Call Tools: Use JSON-RPC
tools/callmethod to invoke tools- All tool calls use the same POST endpoint with session ID
- Responses are delivered via the SSE stream
Example JSON-RPC Messages
Initialize:
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "my-client", "version": "1.0.0" } } }
List Tools:
{ "jsonrpc": "2.0", "id": 2, "method": "tools/list" }
Call Tool:
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "search_partners", "arguments": { "product": "business-central", "country": "US", "max_results": 5 } } }
Using MCP Inspector
Test this server using the MCP Inspector:
npx @modelcontextprotocol/inspector sse https://topdynamicspartners.com/api/mcp/sse
Note: Legacy REST API endpoints are still available for backward compatibility:
POST https://topdynamicspartners.com/api/mcp/search_partnersPOST https://topdynamicspartners.com/api/mcp/get_partner_detailsPOST https://topdynamicspartners.com/api/mcp/recommend_shortlist
Getting Valid Parameter Values
To get the current list of valid values for products, industries, and services, use the reference data API:
Get Products:
GET https://topdynamicspartners.com/api/listings/metadata/reference?type=products
Returns: { "products": [{ "code": "business-central", "name": "Business Central", ... }] }
Get Industries:
GET https://topdynamicspartners.com/api/listings/metadata/reference?type=industries
Returns: { "industries": [{ "code": "manufacturing", "name": "Manufacturing", ... }] }
Get Services:
GET https://topdynamicspartners.com/api/listings/metadata/reference?type=services
Returns: { "services": [{ "code": "erp-implementation", "name": "ERP Implementation", ... }] }
Note: These endpoints return the current list of valid codes and names. You can use either the code or name field values in your API requests. The reference data may change over time, so it's recommended to fetch it periodically or cache it appropriately.
Response Format
The MCP server uses JSON-RPC 2.0 protocol. All responses are sent via the SSE stream in the following format:
Success Response:
{ "jsonrpc": "2.0", "id": 3, "result": { "content": [ { "type": "text", "text": "{"partners": [...]}" } ] } }
Error Response:
{ "jsonrpc": "2.0", "id": 3, "error": { "code": -32603, "message": "Internal error", "data": "Product "invalid" not found" } }
Note: Tool results are returned as JSON strings within the content array. Parse the text field to access the actual data.
Testing
You can test the MCP server using our interactive test page. The test page allows you to try all three tools and see the JSON-RPC requests and responses in real-time.
Test the MCP Server:
Open Test Page →
Security
This MCP server uses Supabase service role access to query the partner database. All endpoints are publicly accessible but rate-limited. No authentication is required for read operations.
Note: This server only provides read access to partner data. No write operations are available through these endpoints.
関連サーバー
Search MCP Server
A server providing web and similarity search functionalities, designed for Claude Desktop. It requires external embedding and API services.
Volcengine Knowledge Base MCP
Provides knowledge base search and dialogue completion using the Volcengine Knowledge Base service. Requires external credential configuration.
PubTator MCP Server
A server for biomedical literature annotation and relationship mining, based on PubTator3.
ChunkHound
A local-first semantic code search tool with vector and regex capabilities, designed for AI assistants.
招投标大数据服务
Provides comprehensive bidding and tender information query services, including statistics, searches, and planned project queries.
Gemini Web Search
Performs web searches using the Gemini Web Search Tool via the local gemini-cli.
Tavily Search
A search API tailored for LLMs, providing web search, RAG context generation, and Q&A capabilities through the Tavily API.
Weather
Provides weather data using the US National Weather Service (NWS) API. Built with pure JavaScript ES Modules.
Compliance Auditor MCP
City hiring-compliance MCP server with regulation search and full audit risk scoring.
招投标大数据服务
Provides comprehensive trademark information, including search, profile statistics, and status tracking.