Skip to main content
The Doris MCP server gives an AI tool access to the ontology of your workspace. The tool reads deals, accounts, people, meetings and commitments. It can also make a small set of writes. When you connect for the first time, your MCP client opens a browser window. Sign in with your Doris login. The client then gets a token for your user in your workspace.
To try the tools without an account, use the demo sandbox.

Connect a client

Menu names in other apps can change. Any client that supports Streamable HTTP and OAuth can use the endpoint.

Tools

The server has 12 tools. Eight tools read. Four tools write. The same data is available through the Ontology API. The API and the MCP server apply the same tenant scope.

ontology_types

Without type_name, the tool returns a directory: each type name and its expand keys. With type_name, it returns the full schema. The schema includes properties, expand keys, writable fields, actions with their params_schema, measures and dataset capabilities.

ontology_resolve

Some expand keys on deal are stakeholders, commitments, meetings, risks, next_step and similar_deals. Call ontology_types with type_name="deal" for the full list. For type_name="teammate", the ID me returns your own user.

ontology_list

A limit above 100 returns validation_error.

ontology_batch

The result has results and errors, both keyed by type:id. One failed reference does not stop the others.

ontology_traverse

ontology_aggregate

ontology_types lists the measures and dimensions of each type.

search_transcripts

The result has transcript_turns and meetings_matched. Each turn has its meeting ID, start time in milliseconds, speaker and snippet. If a search with mine=true finds nothing, the server searches the whole workspace. It then sets widened_beyond_mine to true.

Writes

MCP tokens have only the ontology:read scope. There is no write scope. The server authorizes each write by its type and action. Every MCP call counts as an agent call, not a person’s call. Some actions accept only a person’s call. From MCP, these actions return an error and change nothing. ontology_types shows the current actions of each type and their params_schema. It does not list update. Use ontology_update for field writes, not ontology_action.

ontology_update

A field that is not in writable_fields returns invalid_request. Nothing is written.

ontology_action

The commitment actions take two optional parameters: operation_id (a UUID) and reason (1 to 4,000 characters). reject_evidence needs occurrence_id and reason. Send the same operation_id again to repeat a call safely. An action that can reach a buyer returns forbidden from MCP. Only a person can start it.

create_composition

The document belongs to you. The result has composition_id and a link to the document in Doris.

edit_composition

Send title, body or both. The body must keep the same sections, in the same order, with the same keys. You can change prose, callout and key-point blocks. The server keeps all other blocks, such as tables and charts. To get the current body, call ontology_resolve with type_name="composition" and expand=["body"].

Privacy

The MCP server always uses the masked privacy level. You cannot change it. At masked, owner_name and owner_email stay visible on deals only. On other types, the server masks them. Internal calls follow the same rule as in the app. A member sees an internal meeting only if they were on it. An admin sees all meetings.

Rate limits

  • 10,000 calls a day for each workspace. The MCP server and the Ontology API share this quota.
  • MCP has no per-minute limit. The per-minute limits in the API reference apply to REST routes only.
  • 10 client registrations an hour for each IP address.
When the quota is used up, calls fail with rate_limited.

Example prompts

  • “Show me the Acme deal with its stakeholders and open commitments.”
  • “How many deals are in each stage, and what is the pipeline amount of each?”
  • “Every time security came up in the Acme calls this quarter, what was said?”
  • “Push the due date of this commitment to next Friday.”