{"name":"Root Data Public MCP Server","description":"Public, read-only MCP tools for Root Data directory, blog, and FAQ context.","version":"1.0.0","protocol":"model-context-protocol","endpoint":"https://staging.rootdata.ai/api/mcp","mcp_endpoint":"https://staging.rootdata.ai/api/mcp","manifestUrl":"https://staging.rootdata.ai/.well-known/mcp.json","manifest_url":"https://staging.rootdata.ai/.well-known/mcp.json","transport":{"type":"streamable-http","url":"https://staging.rootdata.ai/api/mcp"},"documentationUrl":"https://staging.rootdata.ai/connect-root-data-mcp","documentation_url":"https://staging.rootdata.ai/connect-root-data-mcp","faqUrl":"https://staging.rootdata.ai/faq/ask-ai-about-root-data","faq_url":"https://staging.rootdata.ai/faq/ask-ai-about-root-data","blogUrl":"https://staging.rootdata.ai/blog","blog_url":"https://staging.rootdata.ai/blog","privacyUrl":"https://staging.rootdata.ai/help/privacy","privacy_url":"https://staging.rootdata.ai/help/privacy","authentication":{"type":"none","note":"This endpoint exposes public directory, blog, and FAQ context only."},"tools":[{"name":"search_dsos","description":"Search public DSO directory entries by name, slug, website, summary, or public signals.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional DSO name, slug, website, summary, or public signal search text."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"Maximum number of results to return."}}}},{"name":"get_dso_profile","description":"Fetch one public DSO profile by slug.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Public Root Data DSO profile slug."}},"required":["slug"]}},{"name":"search_practices","description":"Search published public dental practice listings with optional service, location, city/state, review/rating filters, and Google review sorting.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional practice, service, city, ZIP, or public listing search text."},"service":{"type":"string","description":"Optional dental service filter."},"location":{"type":"string","description":"Optional location phrase."},"city":{"type":"string","description":"Optional city filter."},"state":{"type":"string","description":"Optional state filter or two-letter code."},"reviews":{"type":"integer","minimum":0,"description":"Optional minimum Google review count."},"stars":{"type":"number","minimum":0,"maximum":5,"description":"Optional minimum Google star rating."},"sortBy":{"type":"string","enum":["default","name","google_reviews","google_rating"],"description":"Optional public listing sort order."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"Maximum number of results to return."}}}},{"name":"get_practice_profile","description":"Fetch one published public practice profile by slug.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Published public dental practice profile slug."}},"required":["slug"]}},{"name":"list_top_dsos","description":"List directional public DSO profiles by size, locations, or growth signals.","inputSchema":{"type":"object","properties":{"by":{"type":"string","enum":["size","locations","growth"],"description":"Ranking basis for directional public DSO results."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"Maximum number of results to return."}},"required":["by"]}},{"name":"compare_dsos","description":"Compare two public DSO profiles by slug.","inputSchema":{"type":"object","properties":{"dso_slug1":{"type":"string","description":"First public DSO profile slug."},"dso_slug2":{"type":"string","description":"Second public DSO profile slug."}},"required":["dso_slug1","dso_slug2"]}},{"name":"search_blog_articles","description":"Search published Root Data blog articles by DSO-only, practice-only, both-audience, or all articles.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional blog article title, category, tag, slug, or content search text."},"audience":{"type":"string","enum":["dso","practice","both","all"],"description":"Optional blog audience filter."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"Maximum number of results to return."}}}},{"name":"root_data_faq","description":"Retrieve public Root Data FAQ answers for AI chat context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional Root Data FAQ search question or phrase."},"limit":{"type":"integer","minimum":1,"maximum":25,"description":"Maximum number of FAQ answers to return."}}}}],"limits":{"maxResultsPerTool":25,"publicRateLimit":"30 requests per minute per IP"}}