MCP Getting Started¶
Connect your AI coding assistant to PrimeRFP Scout using the Model Context Protocol (MCP). Once connected, you can ask your AI questions like:
"Find IT services opportunities under $10M posted in the last 30 days" "What contracts is Leidos losing to recompete this year in NAICS 541511?" "Find 8(a) partners with past performance in cloud infrastructure"
Requirements¶
- A PrimeRFP Scout account with MCP enabled: SCOUT MCP Trial, SCOUT MCP Explorer, or Tactics / Strategic / Premier (pricing). The web-only Free plan does not include MCP access.
- An MCP API key (created in Settings → API Keys)
- An MCP-compatible client (ChatGPT, Cursor, Claude, n8n, custom agents — see below)
Step 1 — Create an API key¶
- Open scout.primerfp.com and sign in
- Go to Account Settings → API Keys
- Click New Key, give it a name (e.g.
Cursor Work), click Create Key - Copy the key — it starts with
prfp_and is shown only once
Save your key
The raw key is never stored and cannot be recovered. Copy it before closing the dialog.
Step 2 — Configure your AI client¶
All configs below use OAuth 2.0 Bearer (Authorization: Bearer prfp_…) — the recommended method.
If your client doesn't support Authorization headers, see the legacy API key option →.
For clients that can perform the full OAuth token-claim flow automatically, see the
Authentication reference →.
Requires: ChatGPT Desktop app (macOS or Windows) with MCP support enabled.
Config file locations:
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/ChatGPT/mcp.json |
| Windows | %APPDATA%\ChatGPT\mcp.json |
Steps:
- Open ChatGPT Desktop → Settings (gear icon) → scroll to MCP Servers → Edit Config (or edit the file directly)
- Add the Scout server:
{
"mcpServers": {
"scout": {
"type": "http",
"url": "https://mcp.primerfp.com/mcp",
"headers": {
"Authorization": "Bearer prfp_YOUR_KEY_HERE"
}
}
}
}
- Save and fully quit and relaunch ChatGPT Desktop
- Start a new conversation and ask: "What government contracting tools do you have?"
File: ~/.cursor/mcp.json (global) or .cursor/mcp.json (project)
{
"mcpServers": {
"scout": {
"url": "https://mcp.primerfp.com/mcp",
"headers": {
"Authorization": "Bearer prfp_YOUR_KEY_HERE"
}
}
}
}
Steps:
- Open Cursor → Settings → MCP → Add new global MCP server
- Paste the JSON above (replacing the key)
- Save and restart Cursor
Claude Desktop only supports local stdio MCP servers — remote HTTP is not supported directly.
The solution is mcp-remote, a tiny npm bridge that runs locally and proxies to PrimeRFP's server.
Pre-requisite: Node.js must be installed (node -v to check). npx is included with Node.
Steps:
- Open Claude Desktop → Settings → Developer → Edit Config
- Edit (or create)
claude_desktop_config.json:
{
"mcpServers": {
"scout": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.primerfp.com/mcp",
"--header",
"Authorization: Bearer prfp_YOUR_KEY_HERE",
"--transport",
"http-only"
]
}
}
}
- Save and fully quit Claude Desktop (Cmd+Q, not just close the window), then relaunch
- The first launch will auto-download
mcp-remotevia npx — this takes ~10 seconds
No Node.js?
Install from nodejs.org (LTS version). After installing, quit and reopen Claude Desktop so it picks up the updated PATH.
File: ~/.codeium/windsurf/mcp_config.json
Steps:
- Open Windsurf → Settings (
Cmd+,) → search MCP - Click View raw config to open
mcp_config.json - Add the Scout server:
{
"mcpServers": {
"scout": {
"serverUrl": "https://mcp.primerfp.com/mcp",
"headers": {
"Authorization": "Bearer prfp_YOUR_KEY_HERE"
}
}
}
}
- Save and restart Windsurf
File: .vscode/mcp.json (workspace) or user settings.json
{
"servers": {
"scout": {
"type": "http",
"url": "https://mcp.primerfp.com/mcp",
"headers": {
"Authorization": "Bearer prfp_YOUR_KEY_HERE"
}
}
}
}
Steps:
- Create
.vscode/mcp.jsonin your workspace - Open Command Palette → MCP: List Servers to confirm it's loaded
claude mcp add --transport http scout https://mcp.primerfp.com/mcp \
--header "Authorization: Bearer prfp_YOUR_KEY_HERE"
Then verify with:
n8n can call Scout from workflows using nodes that support remote MCP over HTTP (for example MCP Client or equivalent community nodes). Use the API key from Step 1 and the URLs below.
Point the node at:
| Setting | Value |
|---|---|
| URL | https://mcp.primerfp.com/mcp |
| Authorization | Bearer prfp_YOUR_KEY_HERE |
Use the same Streamable HTTP endpoint as Cursor/ChatGPT; if a node only offers SSE, try
https://mcp.primerfp.com/sse with the same Authorization header.
Any MCP client that supports Streamable HTTP or SSE:
| Transport | URL |
|---|---|
| Streamable HTTP (recommended) | https://mcp.primerfp.com/mcp |
| SSE (legacy fallback) | https://mcp.primerfp.com/sse |
Set header Authorization: Bearer prfp_YOUR_KEY_HERE on all requests.
Google Gemini & Microsoft Copilot (consumer)
Neither Google Gemini (gemini.google.com) nor Microsoft Copilot (copilot.microsoft.com) currently support MCP connections from third-party servers. Google is building their own Agent-to-Agent (A2A) protocol; Microsoft MCP support exists only in enterprise Copilot Studio.
For casual users: ChatGPT Desktop and Cursor are the easiest on-ramps today.
Step 3 — Verify the connection¶
After restarting your client, ask your AI:
A successful response looks like:
You're on Scout Tactics. You have access to:
search_opportunities, get_opportunity_detail, get_award_history,
find_recompete_contracts, find_teaming_partners, get_account_info
Troubleshooting¶
I use Google Gemini or Microsoft Copilot — can I connect?
Unfortunately, Google Gemini (gemini.google.com / Gemini Advanced) and Microsoft Copilot (copilot.microsoft.com) do not currently support remote MCP server connections for end users.
- Google is developing a competing protocol (A2A). Watch for Gemini MCP support in a future release.
- Microsoft MCP integration exists only in Copilot Studio (enterprise), not the consumer product.
Best alternatives right now:
- ChatGPT Desktop — supports MCP, easiest setup (see the ChatGPT Desktop tab above)
- Cursor — best experience for research-heavy workflows
Claude Desktop says 'command: invalid_type — expected string'
Claude Desktop only supports local stdio MCP servers and does not accept type: "http" configs.
The fix is to use mcp-remote as a local bridge — see the Claude Desktop tab above for the
correct config. You need Node.js installed for npx to work.
I get a 401 Unauthorized error
- Make sure you copied the full key including the
prfp_prefix - Keys are case-sensitive
- Check the key hasn't been revoked in Settings → API Keys
I get a 403 Forbidden error
Often a monthly MCP budget on a paid tier or another server-side limit. For daily search caps, MCP usually returns a tool result with error_type: "daily_search_limit" (not always HTTP 403). Check Settings → API Keys and use get_account_info for search_quota and monthly usage. Upgrade or extend your plan if you need higher limits.
I get a 401 with a message about MCP Explorer or pricing
The web-only Free plan cannot use MCP. Start an MCP Trial, subscribe to MCP Explorer, or upgrade to Tactics+ at primerfp.com/pricing, then try again with the same API key (or create a new one after checkout if your workflow requires it).
My client says the server is unavailable
- Verify your internet connection can reach
https://mcp.primerfp.com - Try the health check:
curl https://mcp.primerfp.com/health - Check the status page
The AI says it doesn't know what tools are available
Restart your AI client after adding the config — most clients only load MCP servers on startup.
Claude Desktop says 'Server disconnected' on Mac with nvm installed
This is a Node.js version conflict. Claude Desktop launches commands using the system
PATH, which often resolves to an old nvm-managed Node (e.g. v15 or v16) instead of
the version active in your terminal. mcp-remote requires Node 18 or later.
Check the Claude log at ~/Library/Logs/Claude/mcp-server-scout.log — look for
the node version in the Using MCP server command: line or any module errors.
Fix option 1 (immediate) — bypass npx entirely and call node + proxy.js directly:
First, install mcp-remote globally and find your nvm Node 20 path:
claude_desktop_config.json to use the absolute node binary and
dist/proxy.js (the stdio↔HTTP bridge):
{
"mcpServers": {
"scout": {
"command": "/Users/YOUR_USERNAME/.nvm/versions/node/v20.11.1/bin/node",
"args": [
"/opt/homebrew/lib/node_modules/mcp-remote/dist/proxy.js",
"https://mcp.primerfp.com/mcp",
"--header",
"Authorization:Bearer prfp_YOUR_KEY_HERE",
"--transport",
"http-only"
]
}
}
}
v20.11.1 with your actual nvm v20 version, and YOUR_USERNAME with your
Mac username. Note: use X-PrimeRFP-Key:value (no space after the colon).
Fix option 2 (permanent) — set nvm default to Node 20 LTS:
Then fully quit Claude Desktop (Cmd+Q, not just close the window) and relaunch it. With the default set, the standardnpx mcp-remote form in the config will work.
What to ask first¶
Once connected, try these prompts to see SCOUT in action:
Search & Discovery
Budget Intelligence (Tactics+)
Agency Briefing (Tactics+)
Capture Intelligence (Tactics+)
Competitive Research (Tactics+)
Market Sizing with PSC (Tactics+)
NAICS vs PSC Comparison (Tactics+)
Show me the construction market two ways: using NAICS 236-238 and using category="Facilities & Construction". Compare the totals.
Recompete Pipeline (Strategic+)