Doconda

Create, review and edit editable Word, PowerPoint, Excel and PDF files from any AI agent. Remote (Streamable HTTP, OAuth sign-in) or local (npx).

Hosted MCP Server

npx add-mcp 'https://api.eu.doconda.com/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

MCP server

Doconda for any MCP client, on your computer or remote.

The Doconda MCP server gives your agent the tools to create, review and edit documents. There are two ways to use it:

LocalRemote
What it isnpx -y @doconda/mcp, on your computer (stdio)https://api.eu.doconda.com/mcp (Streamable HTTP)
AuthenticationDOCONDA_API_KEY variableSign in with your Doconda account (OAuth), or an Authorization: Bearer ak_… header
Can read files from your diskYes (upload_file with path)No: they are uploaded by URL or as base64
ForClaude Desktop, Claude Code, Cursor, Codex, scriptsClaude connectors, Claude Code, Cursor, n8n, Le Chat, cloud-hosted agents

Local

Any client that launches servers over stdio. The typical configuration:

{
  "mcpServers": {
    "doconda": {
      "command": "npx",
      "args": ["-y", "@doconda/mcp"],
      "env": { "DOCONDA_API_KEY": "ak_eu_…" }
    }
  }
}

Remote

Any client with Streamable HTTP transport, at https://api.eu.doconda.com/mcp. There are two ways to authenticate:

  • Sign in (OAuth): add the URL and nothing else. The client opens Doconda in your browser; you sign in, choose the organization and project it will work in (and whether it may only read) and approve. Clients that support MCP authorization do this on their own: Claude, Claude Code, Cursor, VS Code, MCP Inspector.
  • API key: send Authorization: Bearer ak_eu_… on every request, for clients without OAuth and for your own backend.
URL:     https://api.eu.doconda.com/mcp
Header:  Authorization: Bearer ak_eu_…   (only with an API key)

What a connected app can do

PermissionTools
documents:readlist_documents, get_document, get_report, read_artifact_data
documents:writeAll of them, also create_document, upload_file, review_document and edit_document

An app with read-only access gets 403 insufficient_scope on a tool that writes, and the client can ask you to approve more. A connected app uses its project's documents and balance. You can see and disconnect apps in the dashboard, under Connected apps; a connection also ends when the person who approved it leaves the organization, or after 30 days without use.

For MCP client developers

  • Without a token, every request (initialize and tools/list included) gets 401 with WWW-Authenticate: Bearer resource_metadata="https://api.eu.doconda.com/.well-known/oauth-protected-resource/mcp".
  • The authorization server is https://api.eu.doconda.com (metadata at /.well-known/oauth-authorization-server): authorization code with PKCE S256; the resource parameter is required and must be the server URL; Client ID Metadata Documents or dynamic registration (/oauth/register); redirects over HTTPS or to localhost (any port); iss in the authorization response; access tokens last 1 hour and refresh tokens rotate on every use.
  • A used refresh token disconnects the app, except for a retry: for 30 seconds, the same client can redeem its last refresh token again and gets a new pair (parallel requests, or a response that never arrived).
  • Tokens issued for the MCP server only work there: the REST API (/v1) refuses them and takes API keys.
  • The tool list without signing in: https://api.eu.doconda.com/.well-known/mcp/server-card.json.

Specific clients

Claude Desktop and Claude Code

Cursor

OpenAI Codex

LangChain

CrewAI

n8n

Hugging Face (smolagents)

Cursor

In .cursor/mcp.json (this project) or ~/.cursor/mcp.json (all projects):

{
  "mcpServers": {
    "doconda": {
      "command": "npx",
      "args": ["-y", "@doconda/mcp"],
      "env": { "DOCONDA_API_KEY": "${env:DOCONDA_API_KEY}" }
    }
  }
}

Or the remote one, signing in with your Doconda account: "doconda": { "url": "https://api.eu.doconda.com/mcp" }. With an API key instead: "doconda": { "url": "https://api.eu.doconda.com/mcp", "headers": { "Authorization": "Bearer ${env:DOCONDA_API_KEY}" } }.

OpenAI Codex

In ~/.codex/config.toml (used by the CLI and the editor extension):

[mcp_servers.doconda]
command = "npx"
args = ["-y", "@doconda/mcp"]
env = { DOCONDA_API_KEY = "ak_eu_…" }

Your own server

If you already have an MCP server, add Doconda's tools: they are JSON Schema, so they work as they are.

import { Doconda } from "@doconda/sdk"
import { createServer } from "@doconda/mcp"

const server = createServer(new Doconda()) // a Server from the official MCP SDK, ready to connect to your transport

This documentation is built and hosted on Mintlify, a developer documentation platform.