legal-doc-intelligence
Enables pay-per-call USDC payments on the Base network.
Sends alerts for payments, errors, and conversions.
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 and categorize all clauses from a contract | $0.02 USDC |
| Identify legal risks, red flags, and unfavorable terms | $0.05 USDC |
| Compare two contracts and highlight differences | $0.05 USDC |
| Extract all parties, roles, and contact info | $0.01 USDC |
| Generate an executive summary for non-lawyers | $0.02 USDC |
| Check compliance with GDPR, CCPA, SOX, and others | $0.05 USDC |
| Extract all obligations, deadlines, and deliverables | $0.02 USDC |
| Calculate maximum financial penalty exposure | $0.05 USDC |
Prices auto-adjust downward if call volume drops below the 7-day average.
Related MCP server: Legal Contract Review Agent
Payment Protocol (x402)
Payments use the x402 HTTP payment standard:
Call any tool without a
payment_header→ server returns a402 Payment Requiredresponse withPaymentRequirementsClient constructs a USDC payment on Base to
0xF4641f6AF6cc32c588Fa948ff64dBC0974F7D290Client encodes the signed payment as a base64
payment_headerand retries the callServer 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_headerSelf-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.appRun
npm install
npm run build
npm startArchitecture
MCP server — Express +
@modelcontextprotocol/sdk, HTTP transportPayment layer —
x402npm package for verify + settle on BaseAuto-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
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MichalisKampouridis/income-machine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server