What is MCP?
The Model Context Protocol (MCP) is an open standard that connects AI assistants to external tools and data sources. Instead of writing API calls manually, you describe what you need in plain language, and the AI assistant uses the Firma MCP server to execute the right API calls on your behalf.Supported clients
The Firma MCP server works with any client that supports the MCP Streamable HTTP transport:- Claude — Claude Code, Claude Desktop, Claude.ai
- ChatGPT — Via Developer Mode connectors
- Cursor — Native MCP support
- GitHub Copilot — VS Code 1.101+
- OpenAI Codex — Via CLI or config
- Other MCP clients — Any client implementing the Streamable HTTP transport
Authentication
The MCP server authenticates via OAuth 2.1 with PKCE using your Firma account credentials. When you connect through any supported client, the OAuth flow is handled automatically — you’ll be redirected to sign in with your Firma account and authorize access.Setup
- Claude Code
- Claude Desktop
- Claude.ai
- ChatGPT
- Cursor
- GitHub Copilot
- OpenAI Codex
Add the Firma MCP server via the CLI:Or add it to your Claude Code configuration (You’ll be prompted to sign in with your Firma account on first use.
.claude/settings.json):Available tools
Once connected, the AI assistant can use the following tools. There are 84 tools organized across 10 categories.- Signing Requests
- Templates
- Workspaces
- Webhooks
- Company
- Email Domains
- Email Templates
- Custom Fields
- JWT & Settings
The core workflow tools for creating and managing signing requests.
| Tool | Description |
|---|---|
signing_requests_list | List signing requests with filtering and pagination |
signing_requests_create | Create a new signing request from a document or template |
signing_requests_create_and_send | Create and send a signing request in one step |
signing_requests_get | Get details of a specific signing request |
signing_requests_partial_update | Update specific fields on a signing request |
signing_requests_update | Full update of a signing request |
signing_requests_send | Send a draft signing request to recipients |
signing_requests_cancel | Cancel an active signing request |
signing_requests_resend | Resend to specific recipients |
signing_requests_users_list | List recipients on a signing request |
signing_requests_fields_list | List fields on a signing request |
signing_requests_reminders_list | List reminders for a signing request |
signing_requests_audit_list | Get the audit trail for a signing request |
Workspace selection
After signing in, you start without a workspace selected. You can either:- Ask the assistant to select a workspace — e.g., “Switch to the Marketing workspace”
- Let the assistant pass a workspace ID per request — the assistant can include a
workspace_idparameter on individual tool calls
Example conversations
List all signing requests
“Show me all pending signing requests in my Marketing workspace”The assistant will select the workspace, call the signing requests list endpoint, and present the results.
Create and send a signing request
“Create a signing request from the NDA template and send it to jane@example.com”The assistant will find the template, duplicate it into a signing request, set the recipient, and send it.
Check signing status
“What’s the status of the signing request I sent to John last week?”The assistant will search recent signing requests and return the current status, including which recipients have signed.
Rate limits
MCP requests are subject to the same rate limits as direct API calls. Each tool call maps to one API request.Troubleshooting
Tools not loading
If your client shows the server as connected but no tools appear:- Claude.ai / ChatGPT: Try disconnecting and reconnecting the connector from Settings
- Cursor / VS Code: Restart the application after adding the configuration
- Claude Desktop: Restart the app — changes to
claude_desktop_config.jsonrequire a restart