# MCP overview DK Business Solutions runs a small [Model Context Protocol](https://modelcontextprotocol.io) 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](authentication.md). ## 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](authentication.md). :::{admonition} Discovery docs are ahead of the server :class: warning `/.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](server.md) for the JSON-RPC surface and [Tools](tools.md) for the tool itself.