legal-doc-intelligence
MCP server that analyzes legal documents, extracts key clauses, identifies risks, and summarizes contracts. 8 tools for AI agents needing legal document intelligence.
README
Legal Doc Intelligence — Pay-Per-Call MCP Server
An MCP server that exposes 8 AI-powered legal document analysis tools, each billed per call in USDC on Base via the x402 payment protocol. No accounts, no subscriptions — agents pay only for what they use.
Live endpoint: https://income-machine-production.up.railway.app/mcp
Health check: https://income-machine-production.up.railway.app/health
Transport: HTTP (Streamable HTTP / MCP 2025-11-25)
Tools & Pricing
| Tool | Description | Price |
|---|---|---|
extract_clauses |
Extract and categorize all clauses from a contract | $0.02 USDC |
identify_risks |
Identify legal risks, red flags, and unfavorable terms | $0.05 USDC |
compare_contracts |
Compare two contracts and highlight differences | $0.05 USDC |
extract_parties |
Extract all parties, roles, and contact info | $0.01 USDC |
summarize_contract |
Generate an executive summary for non-lawyers | $0.02 USDC |
check_compliance |
Check compliance with GDPR, CCPA, SOX, and others | $0.05 USDC |
extract_obligations |
Extract all obligations, deadlines, and deliverables | $0.02 USDC |
calculate_penalty_exposure |
Calculate maximum financial penalty exposure | $0.05 USDC |
Prices auto-adjust downward if call volume drops below the 7-day average.
Payment Protocol (x402)
Payments use the x402 HTTP payment standard:
- Call any tool without a
payment_header→ server returns a402 Payment Requiredresponse withPaymentRequirements - Client constructs a USDC payment on Base to
0xF4641f6AF6cc32c588Fa948ff64dBC0974F7D290 - Client encodes the signed payment as a base64
payment_headerand retries the call - Server verifies and settles on-chain, then returns the result
Network: Base (Coinbase L2)
Token: USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
Receiver: 0xF4641f6AF6cc32c588Fa948ff64dBC0974F7D290
Quick Start — Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"legal-doc-intelligence": {
"url": "https://income-machine-production.up.railway.app/mcp",
"transport": "http"
}
}
}
You will need a Base wallet with USDC to pay for tool calls. Compatible wallets: Coinbase Wallet, MetaMask with Base network.
Quick Start — Programmatic (Node.js)
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const client = new Client({ name: "my-agent", version: "1.0.0" });
await client.connect(
new StreamableHTTPClientTransport(
new URL("https://income-machine-production.up.railway.app/mcp")
)
);
// First call returns payment requirements
const result = await client.callTool("identify_risks", {
contract_text: "...",
jurisdiction: "EU",
});
// If result contains x402: true, construct payment and retry with payment_header
Self-Hosting
Requirements
- Node.js 20+
- A Base wallet with ETH (gas) and USDC
- Railway / Fly.io / any Node.js host
Environment Variables
ANTHROPIC_API_KEY= # Claude API key for AI processing
CDP_PRIVATE_KEY= # Private key of the Base wallet (0x...)
WALLET_ADDRESS= # Public address of the same wallet
KRAKEN_API_KEY= # Optional: auto-convert USDC → EUR via Kraken
KRAKEN_API_SECRET= # Optional
KRAKEN_DEPOSIT_ADDRESS= # Optional: your Kraken USDC deposit address on Base
TELEGRAM_BOT_TOKEN= # Optional: alerts
TELEGRAM_CHAT_ID= # Optional
DASHBOARD_PASSWORD= # Password for the private /dashboard endpoint
PORT=3000
BASE_URL= # Your public URL, e.g. https://your-app.railway.app
Run
npm install
npm run build
npm start
Architecture
- MCP server — Express +
@modelcontextprotocol/sdk, HTTP transport - Payment layer —
x402npm package for verify + settle on Base - Auto-conversion — Kraken API polls USDC balance and converts to EUR when threshold is met
- Autopilot — cron job scans HN for new MCP marketplaces weekly and adjusts prices nightly
- Alerts — Telegram bot notifies on payments, errors, and conversions
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.