CLEATUS MCP Server
Connect Claude, Claude Code, ChatGPT, and any other Model Context Protocol client to CLEATUS via OAuth 2.1 and Streamable HTTP.
Connect Claude, Claude Code, ChatGPT, and any other Model Context Protocol (MCP) client to CLEATUS. Then ask your artificial intelligence (AI) assistant to search opportunities, manage your pipeline, create tasks, and run workflows. Every call works against your live CLEATUS account.
Server description
CLEATUS is the platform for government contractors. It is one workspace to find opportunities, qualify pursuits, and win work with federal, state, and local agencies. The MCP server exposes that workspace as tools that an AI assistant calls for the signed-in user. Each OAuth token is scoped to one company and uses the same permissions as the web app. Clients connect over Streamable HTTP (Hypertext Transfer Protocol).
| Endpoint | https://www.cleat.ai/api/mcp/mcp |
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 + PKCE (S256) |
| Tools | 36 (19 read / 12 write / 5 destructive) |
| Plan | DATA + AI or higher |
Features
Discover
Search federal, state, and local opportunities and forecasts across the CLEATUS catalog. Get the AI-ranked recommendations from your Recommended feed.
Evaluate
Get the full detail of an opportunity: its summary, Federal Acquisition Regulation (FAR) sections, and documents. Run semantic searches across past awards, agencies, contractors, government contacts, and North American Industry Classification System (NAICS) codes.
Pursue and manage
Add opportunities to your pipeline and update pursuits. Create and assign tasks, manage saved searches, and organize Document Hub folders. Create, activate, and run workflows. Each change runs with the same permissions as the web app.
Context
Read the company's Capture Profile, notifications, team members, and credit balance. The assistant can then answer questions without leaving the conversation.
Prompts
The server also ships four prompts that clients show as shortcuts. They are Daily Briefing, Pipeline Review, Find Matching Opportunities, and Task Inbox.
Setup
From the CLEATUS dashboard
Open Settings > Integrations. In the AI Assistants & Agents section, click the MCP card. Copy the MCP server URL (Uniform Resource Locator), or pick your client to get a ready-made setup snippet. The client list covers Claude.ai, Claude Code, ChatGPT, Cursor, VS Code, Windsurf, and n8n. To let your agent connect itself, click Set up with one prompt and paste the prompt into the agent.
Claude.ai
CLEATUS is listed in the Claude connector directory. Open claude.ai/directory/cleatus, click Connect, and sign in. You do not paste anything. Step-by-step: Connect Claude to CLEATUS.
To connect by hand instead, open Settings > Connectors > Add custom connector in Claude. Enter the name "CLEATUS" and the URL https://www.cleat.ai/api/mcp/mcp.
Claude Code
Run this command in your terminal:
claude mcp add --transport http cleatus https://www.cleat.ai/api/mcp/mcp
To share the server with your team, add --scope project. Claude Code then saves it in your project's .mcp.json file. Then run /mcp in Claude Code and sign in to CLEATUS in the browser.
Step-by-step: Connect Claude Code to CLEATUS.
ChatGPT
CLEATUS has an official app in the ChatGPT Apps directory. Step-by-step: Connect ChatGPT to CLEATUS.
Cursor, Windsurf, OpenClaw, and n8n
Each has a step-by-step guide with its configuration snippet: Cursor, Windsurf, OpenClaw, and n8n.
Custom clients
Point any MCP client at the endpoint. PKCE with S256 is required. See the authentication section below.
Authentication
The MCP server uses the OAuth 2.1 authorization code flow with Proof Key for Code Exchange (PKCE, S256 only).
- Discovery: Authorization server metadata is at
/.well-known/oauth-authorization-server, as Request for Comments (RFC) 8414 defines. Protected resource metadata is at/.well-known/oauth-protected-resource(RFC 9728). - Client registration: Clients can register themselves at
/oauth/register(RFC 7591 dynamic client registration). CLEATUS deletes a dynamically registered client after 30 days with no use. - Authorize:
/oauth/authorizeshows the Connect to CLEATUS page. The user signs in, picks a company under Select company, and clicks Authorize. The token is scoped to that company. - Token exchange:
/oauth/tokenexchanges an authorization code and the PKCE verifier for an access token and a refresh token. Access tokens last one hour. Refresh tokens last 30 days and rotate on each use. - Resource binding: Tokens are bound to the MCP endpoint (RFC 8707 resource indicators). The server rejects a token issued for a different resource.
- Scopes: The server advertises
readandwrite. Tokens currently get full access to the selected company. - Rate limits: Each access token gets 100 reads and 30 writes per minute. A call over the limit fails with a rate-limit error. The error message tells you how many seconds to wait.
Partners who need a pre-registered client with fixed redirect Uniform Resource Identifiers (URIs) can contact support@cleat.ai.
Usage examples
Example 1: Find active opportunities (read)
User prompt: "Find active cybersecurity opportunities in Virginia posted this week."
Tool called: cleatus_search_opportunities
Arguments:
{
"query": "cybersecurity",
"states": ["VA"],
"posted_since": "2026-10-05T00:00:00Z",
"status": "active",
"limit": 20
}
Response: A table of matching opportunities. Each row has the title, agency, set-aside, posted and due dates, match score, and a view_url link. When has_more is true, pass cursor to get the next page.
Example 2: Add to pipeline and assign a task (write)
User prompt: "Add the second result to my pipeline. Assign Sarah a proposal kickoff task, due next Friday."
Tools called: cleatus_add_to_pipeline, then cleatus_list_team_members (to find Sarah's user ID), then cleatus_create_task.
Result: A new pursuit on the company's pipeline board. The pursuit has a "Proposal kickoff" task with a due date and an assignee. Sarah gets the same in-app notification and assignment email that the web app sends.
Example 3: Run an automation workflow (complex)
User prompt: "Run the FAR compliance analysis workflow on the Navy solicitation I just added."
Tools called: cleatus_list_workflows (to find the workflow), then cleatus_get_pursuit (to confirm the target), then cleatus_run_workflow.
Result: { run_id, status: "pending", view_url }. The assistant can share the view_url so that you can watch the run. It can also check progress with cleatus_get_workflow_run. The workflow runs the same steps that it runs from the web app.
REST API
Use the Representational State Transfer (REST) application programming interface (API) to call CLEATUS from your own code. It runs the same operations with an API key in the X-Api-Key header instead of OAuth. For plans, key setup, endpoints, and limits, see CLEATUS REST API and API keys.
Data handling and privacy
- Each call is scoped to one company through the OAuth token. A token cannot read or change another company's data.
- Your AI assistant sends CLEATUS tool calls, not your whole conversation.
- For each call, CLEATUS records the tool name, the user and company, the result status, and the response time. For search tools, CLEATUS also records the search text and the number of results.
- Every
cleatus_*tool is free to call. Credits pay for AI features inside the CLEATUS web app, such as proposal generation and workflow AI steps. - Full privacy policy: https://www.cleat.ai/privacy.
Troubleshooting
Connector won't connect
Make sure that the server URL is exactly https://www.cleat.ai/api/mcp/mcp. Make sure that your client supports PKCE with the S256 method, because the server rejects plain PKCE. If your client uses dynamic client registration, register every redirect URI that it uses in redirect_uris.
"Upgrade required" or HTTP 402 errors
The connectors need an active subscription on the DATA + AI plan or higher. A company whose trial has not started also gets a 402 error. Sign in at cleat.ai/dashboard to upgrade, renew, or start the trial.
An inactive subscription returns the subscription_inactive error with this message: "Your CLEATUS subscription is inactive. Sign in at https://cleat.ai/dashboard to renew before using the connector."
Tool returns empty results
Make sure that you picked the correct company on the Connect to CLEATUS page. Each access token is scoped to one company. A token for the wrong company finds no pipeline, tasks, or saved searches. To switch companies, remove the connector, add it again, and pick the correct company.
401 or unauthorized errors
The access token expired, was revoked, or was issued for a different server. Authorize the connector again so that your client gets a fresh token. If 401 errors continue, replay detection may have revoked the refresh token family. Remove the connector and add it back to start a new token family.
Rate-limit errors
Each token gets 100 reads and 30 writes per minute. Wait for the number of seconds in the error message, then retry. If you often hit the limit, combine reads into fewer calls, or contact support about a higher limit.
Still stuck
Email support@cleat.ai with your client name, the tool that you called, and the time of a failing request.
Support
- Email: support@cleat.ai
- Security disclosures: security@cleat.ai
- Security and compliance: https://www.cleat.ai/security
