USA Spending Server
БесплатноНе проверенAn MCP server for interacting with the USAspending.gov API, supporting local use with Claude Desktop and cloud deployment with login.gov authentication.
Описание
An MCP server for interacting with the USAspending.gov API, supporting local use with Claude Desktop and cloud deployment with login.gov authentication.
README
⚠️ DISCLAIMER: This is a proof of concept and is not intended for production use.
An MCP server for interacting with the USAspending.gov API, with optional login.gov authentication for cloud deployment.
Requirements
- Python 3.11+
- uv
Installation
Quick Install
uv tool install git+https://github.com/GSA-TTS/usa-spending-mcp-server
Development Setup
git clone https://github.com/GSA-TTS/usa-spending-mcp-server
cd usa-spending-mcp-server
uv sync --dev
Running Modes
The server supports two modes:
| Mode | Command | Use Case |
|---|---|---|
| stdio | usa-spending-mcp-server |
Local use with Claude Desktop |
| HTTP | usa-spending-mcp-server-http |
Cloud deployment with login.gov auth |
Local Setup (Claude Desktop)
Get the installed tool path:
which usa-spending-mcp-serverAdd to your Claude MCP config (
~/.claude/claude_desktop_config.json):{ "mcpServers": { "usa-spending": { "command": "/path/to/usa-spending-mcp-server" } } }
HTTP Server with Login.gov Authentication
The HTTP server uses login.gov OIDC with PKCE for authentication, suitable for cloud.gov deployment.
Environment Variables
| Variable | Required | Description |
|---|---|---|
REQUIRE_AUTH |
No | Set to "false" to disable auth (default: "true") |
BASE_URL |
If auth enabled | Public URL of the server (e.g., https://usa-spending-mcp.app.cloud.gov) |
LOGINGOV_CLIENT_ID |
If auth enabled | Your login.gov application client ID |
JWT_SIGNING_KEY |
If auth enabled | Secret key for signing JWTs (generate with python -c "import secrets; print(secrets.token_hex(32))") |
LOGINGOV_CONFIG_URL |
No | OIDC discovery URL (defaults to login.gov sandbox) |
PORT |
No | Server port (default: 8080) |
Login.gov Setup
- Register at partners.login.gov
- Create a new OIDC application:
- Protocol: OpenID Connect with PKCE (public client)
- Redirect URI:
{BASE_URL}/auth/callback
- Note your client ID for
LOGINGOV_CLIENT_ID
Running Locally
Without authentication (development):
uv run task dev
With authentication:
export BASE_URL=http://localhost:8080
export LOGINGOV_CLIENT_ID=your-client-id
export JWT_SIGNING_KEY=$(python -c "import secrets; print(secrets.token_hex(32))")
uv run task dev-auth
Cloud.gov Deployment
Set environment variables:
cf set-env usa-spending-mcp-server BASE_URL https://usa-spending-mcp.app.cloud.gov cf set-env usa-spending-mcp-server LOGINGOV_CLIENT_ID your-client-id cf set-env usa-spending-mcp-server JWT_SIGNING_KEY your-signing-keyDeploy:
cf push
Development
Available Tasks
uv run task dev # Run HTTP server without auth
uv run task dev-auth # Run HTTP server with auth
uv run task lint # Check code with ruff
uv run task lint-fix # Fix linting issues
uv run task format # Format code with ruff
uv run task test # Run tests
uv run task test-cov # Run tests with coverage
uv run task ci # Run all CI checks
Code Quality
This project uses ruff for linting and formatting.
LLM-Based Evals (Optional)
For local testing of tool behavior using mcp-evals:
cd evals
npm install
ANTHROPIC_API_KEY=your-key npm run eval
See evals/README.md for details.
Project Structure
src/
usa_spending_mcp_server/
server.py # stdio MCP server (Claude Desktop)
server_http.py # HTTP server with auth (cloud.gov)
auth.py # login.gov OIDC authentication
tests/ # Python unit tests
evals/ # LLM-based evals (optional)
manifest.yml # cloud.gov deployment config
pyproject.toml
Установка USA Spending Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/GSA-TTS/usa-spending-mcp-server-DEMOFAQ
USA Spending Server MCP бесплатный?
Да, USA Spending Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для USA Spending Server?
Нет, USA Spending Server работает без API-ключей и переменных окружения.
USA Spending Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить USA Spending Server в Claude Desktop, Claude Code или Cursor?
Открой USA Spending Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare USA Spending Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
