MCP overview

DK Business Solutions runs a small Model Context Protocol server at https://dishonkadoh.com/api/mcp, so AI agents/clients can query company information directly instead of scraping the marketing site.

This is a separate system from the customer portal API documented elsewhere in these docs (dk_customer_portal_api) — it lives in the main dishonkadoh.com website’s codebase as Vercel serverless functions (api/mcp/, api/oauth/), not in Odoo. The two are connected at exactly one point: OAuth login for the MCP server hands off to the portal’s own login system (app.dishonkadoh.com/login) rather than maintaining separate credentials — see Authentication.

What’s actually implemented today

  • Transport: MCP’s Streamable HTTP transport, protocolVersion: "2025-06-18", JSON-RPC 2.0 over a single POST /api/mcp endpoint.

  • One real tool: company_information — returns a short paragraph about DK Business Solutions. No parameters.

  • Full OAuth 2.1 stack in front of it: dynamic client registration, authorization code + PKCE, refresh tokens, JWT access tokens verified against a published JWKS. See Authentication.

Discovery docs are ahead of the server

/.well-known/mcp/tools.json currently lists two tools — get_company_info and check_api_status — but the live server only implements one, named company_information (different name entirely, and check_api_status doesn’t exist as a callable tool). server-card.json also advertises an empty capabilities.tools: []. If you’re building against this server, trust the live tools/list JSON-RPC response over the static discovery files — they’re out of sync with what’s actually callable. Worth reconciling before external agents rely on the static files.

See MCP server for the JSON-RPC surface and Tools for the tool itself.