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.
Related Servers
SerpApi
Retrieve parsed search engine results using the SerpApi API.
Local Research MCP Server
A private, local research assistant that searches the web and scrapes content using DuckDuckGo.
USGS Quakes
Access earthquake data from the USGS Quakes API using natural language queries.
Brave-Gemini Research MCP Server
Perform web searches with the Brave Search API and analyze research papers using Google's Gemini model.
SearXNG
A Model Context Protocol Server for SearXNG
招投标大数据服务
Query comprehensive enterprise information from e-commerce platforms, including store details, sales data, and product statistics.
MCP Gemini Google Search
Performs Google searches using Gemini's built-in Grounding with Google Search feature.
Gaode Map POI
Provides geolocation and nearby POI (Point of Interest) information using the Gaode Map API.
Stock Analysis
Access real-time and historical Indian stock data using the Yahoo Finance API.
Tavily Search
Perform web searches using the Tavily Search API.