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.
Servidores relacionados
TMDB MCP Server
Access movie information, search, and recommendations from The Movie Database (TMDB) API.
Bowlly Search
Search, analyze, and compare cat food products with ingredient- and nutrition-based tools.
Ripgrep Search
Efficiently search Obsidian vaults using the ripgrep tool.
Web Search MCP Server
Free web search using Google search results, no API key required.
Google Search
Perform Google searches and view web content with advanced bot detection avoidance.
Grep App
Search code across public GitHub repositories using the grep.app API.
MCP Research Friend
Research tools, including a Sqlite-backed document stash
Wikimedia Image Search
MCP server that enables AI assistants to search Wikimedia Commons images with metadata and visual thumbnails.
Finviz MCP Server
Provides stock screening and fundamental analysis using Finviz data. Requires a Finviz Elite subscription.
People Data Labs
Access person, company, school, location, job title, and skill data using the People Data Labs API.