Help Center

Quick answers to the things people ask most. Jump to a topic:

🤖 Connect Claude to your contract data (MCP)

SamServer Pro is one of the first vertical SaaS platforms with a live MCP server.
Connect Claude Desktop, claude.ai, or any MCP client and ask natural language questions about your contract pipeline — Claude calls the tools and answers from your real data.

What you can do once connected:

Step 1 — Create an API token

  1. Go to Developers & API
  2. Enter a name (e.g. claude-desktop) and click Create Token
  3. Copy the samp_... token immediately — it's shown only once

Step 2 — Add to Claude Desktop

Edit ~/.claude/claude_desktop_config.json (create it if it doesn't exist):

{
  "mcpServers": {
    "samserver": {
      "transport": "http",
      "url": "https://samsearch.xrtech.dev/mcp",
      "headers": {
        "Authorization": "Bearer samp_YOUR_TOKEN_HERE"
      }
    }
  }
}

Restart Claude Desktop. A 🤖 icon appears in the chat toolbar — you're connected.

Step 2 (alternative) — claude.ai Projects

  1. Open claude.ai and create or open a Project
  2. Go to Project Settings → Integrations → Add MCP server
  3. Enter:
    • URL: https://samsearch.xrtech.dev/mcp
    • Header: Authorization: Bearer samp_YOUR_TOKEN

Available tools

Tool What it does
list_opportunitiesYour top scored contracts ranked by AI, filterable by score
get_account_statsOverview: scored count, search terms, recent activity
search_opportunitiesFull-text search within your opportunity list
dismiss_opportunityRemove an opportunity from your list (soft delete, only affects you)
record_feedbackMark good / bad / pursued / ignored / won / lost — improves future scoring
add_keywordAdd a search keyword to your profile (single words only)
trigger_searchStart a fresh SAM.gov search right now

Test with Python (no Claude Desktop needed)

Install: pip install mcp httpx

import asyncio
from mcp.client.session import ClientSession
from mcp.client.sse import sse_client

TOKEN  = "samp_YOUR_TOKEN_HERE"
SERVER = "https://samsearch.xrtech.dev/mcp"

async def test():
    headers = {"Authorization": f"Bearer {TOKEN}"}
    async with sse_client(f"{SERVER}/sse", headers=headers) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            # List available tools
            tools = await session.list_tools()
            print("Tools:", [t.name for t in tools.tools])
            # Call one
            result = await session.call_tool("get_account_stats", {})
            print(result.content[0].text)

asyncio.run(test())
Security: your MCP token is scoped to your account only. Revoke it anytime from Developers & API. Tokens do not grant admin or billing access.

Getting & renewing your SAM.gov API key

SamServer searches SAM.gov on your behalf using an API key. The platform provides one, but if you see an "API key expired/rejected" banner, here's how to get your own (it's free):

  1. Go to sam.gov and sign in (create a free Login.gov account if needed).
  2. Click your name (top right) → Account Details.
  3. Scroll to the API Key section and click Request API Key (you may need a one-time email verification).
  4. Copy the key it generates.
  5. In SamServer, turn on Advanced mode (top-right of the dashboard), paste the key into Search Settings → SAM.gov API Key, and click Save.
Keys expire about every 90 days. When yours stops working we'll show a red banner on your dashboard — just repeat the steps above to generate a fresh one.

Writing keywords that actually work

This is the single biggest lever on result quality. SAM.gov matches your keyword against the opportunity title text, so one broad word finds far more than a specific phrase.

Instead of… Use… Why
virtual realityvirtualCatches all of VR/AR/simulation contexts, not just the exact phrase.
computer visioncomputer, visionTwo broad words find far more than one narrow phrase.
training simulatortraining, simulatorEach word alone surfaces opportunities the phrase would miss.
AR, VR, AI(don't use)2–3 letter tokens match unrelated words (ARMY, PHARMACY) and flood results with junk.

Rules SamServer enforces automatically: single words only (phrases are auto-split), minimum 4 letters, and vague modifiers ("advanced", "integrated", "next-generation") are dropped. The AI scoring still reads the full opportunity text — keywords just control which records get pulled from SAM.gov in the first place, so casting a wide net is correct strategy.

Bring Your Own AI Key (remove all limits)

SamServer scores opportunities with AI. On the free platform key there are fair-use limits. Add your own OpenRouter key and those limits disappear — you run on your own (often free) AI budget.

  1. Go to openrouter.ai and sign up.
  2. Open Keys → Create Key, name it (e.g. "samserver"), and copy it.
  3. OpenRouter has many free models — you don't need to add credit to start. (Add credit later for premium models.)
  4. In SamServer, turn on Advanced mode, then paste the key into AI Scoring Pipeline → OpenRouter API Key and Save.

Once your key is set, AI analysis never pauses for platform limits, and you can pick your own model (including free ones on OpenRouter).

Plans & limits

If AI analysis pauses, your dashboard shows exactly why with a one-click way to upgrade or add your own key. Manage your plan on the Billing page.

REST API & Developers

Every endpoint that powers the dashboard is accessible programmatically using your personal API token.

Open the Developers & API page →

The developers page has curl, Python, and Claude Desktop examples, your token manager, and the full endpoint reference.