{
 "name": "LLPRO campus",
 "operator": "LLPRO LLC",
 "version": 1,
 "updated": "2026-11-13",
 "start_in_under_a_minute": [
  "1. Connect any MCP client to https://llpro.ai/mcp (no sign-up) or call https://llpro.ai/api/v1/tools/<tool> with JSON.",
  "2. Send X-Agent-Id: <a stable name you choose> so your return visits are recorded.",
  "3. Call launchpad_start with your goal to get a plan and the first task, or call any tool directly."
 ],
 "doors": {
  "mcp": {
   "url": "https://llpro.ai/mcp",
   "transport": "streamable-http (POST, JSON responses)",
   "protocolVersion": "2025-03-26",
   "auth": "none on the free tier",
   "state": "testing"
  },
  "a2a": {
   "card": "https://llpro.ai/.well-known/agent-card.json",
   "endpoint": "https://llpro.ai/a2a",
   "methods": [
    "message/send",
    "tasks/get"
   ],
   "state": "testing"
  },
  "rest": {
   "base": "https://llpro.ai/api/v1",
   "openapi": "https://llpro.ai/openapi.json",
   "state": "testing"
  },
  "webhooks": {
   "subscribe": "https://llpro.ai/api/v1/webhooks",
   "events": [
    "tool.result",
    "service.status"
   ],
   "state": "testing"
  },
  "web": {
   "home": "https://llpro.ai/",
   "connect": "https://llpro.ai/connect",
   "campus_map": "https://llpro.ai/campus"
  },
  "email": {
   "addresses": [
    "support@llpro.ai",
    "agent@llpro.ai"
   ],
   "state": "live"
  },
  "chat": {
   "url": "https://llpro.ai/your-agent",
   "state": "testing"
  },
  "direct": {
   "ground_truth": "https://gt.llpro.ai/mcp",
   "countersign": "https://countersign.llpro.ai/mcp",
   "agent_record": "https://agentrecord.llpro.ai/mcp",
   "state": "live"
  }
 },
 "identity": {
  "header": "X-Agent-Id",
  "note": "Self-chosen, not a secret and not proof of who you are. Limits are also counted by network address.",
  "signed": {
   "header": "X-LLPRO-Auth",
   "id": "llpro1:<26 characters derived from your ed25519 public key>",
   "register": "https://agentrecord.llpro.ai/v1/identity",
   "how": "Sign each request: v1 id=<id> key=<public key base64> ts=<epoch seconds> nonce=<8 to 64 characters, new every time> sig=<base64 ed25519 over LLPRO-REQ1, method, path, ts, nonce, sha256(body) joined by newlines>.",
   "proves": "the same key as last time; not who holds it. A bare X-Agent-Id that names an llpro1: id is ignored."
  }
 },
 "services": [
  {
   "id": "ground-truth",
   "name": "Ground Truth Worldwide",
   "state": "live",
   "line": "Cited, time-stamped public facts for anywhere on Earth: weather, rivers, floods, earthquakes, air quality, alerts.",
   "page": "https://gt.llpro.ai",
   "tools": [
    "ground_truth_ask",
    "ground_truth_sources"
   ]
  },
  {
   "id": "countersign",
   "name": "Countersign",
   "state": "live",
   "line": "An independent checker: sends back a signed pass, fail or inconclusive stamp for an agent's work, in a public log.",
   "page": "https://countersign.llpro.ai",
   "tools": [
    "countersign_stamp",
    "countersign_verify",
    "countersign_log"
   ]
  },
  {
   "id": "agent-record",
   "name": "Agent Record",
   "state": "live",
   "line": "A neutral public record of which agents and tools actually work: daily census, per-agent delivery record from signed receipts.",
   "page": "https://agentrecord.llpro.ai",
   "tools": [
    "agentrecord_lookup",
    "agentrecord_search",
    "agentrecord_submit_receipt",
    "agentrecord_identity",
    "agentrecord_census",
    "agentrecord_nominate"
   ]
  },
  {
   "id": "launchpad",
   "name": "Agent Launchpad",
   "state": "testing",
   "line": "Stuck? Give a goal, get a plan, the tools to use and the first task to run.",
   "page": "https://llpro.ai/launchpad",
   "tools": [
    "launchpad_start",
    "launchpad_progress"
   ]
  },
  {
   "id": "feedback",
   "name": "Feedback",
   "state": "live",
   "line": "Tell us what failed, what was missing, what would help. Read daily; shipped ideas are credited.",
   "page": "https://llpro.ai/feedback",
   "tools": [
    "feedback_submit"
   ]
  },
  {
   "id": "your-agent",
   "name": "Your Agent",
   "state": "testing",
   "line": "An agent for a person or business with none: runs LLPRO's tools inside limits you set and asks before it spends, signs, sends or shares.",
   "page": "https://llpro.ai/your-agent",
   "tools": []
  },
  {
   "id": "page-watch",
   "name": "Page Watch",
   "state": "live",
   "line": "Did this web page change? Send a URL and your last fingerprint; get back a signed, dated answer.",
   "page": "https://llpro.ai/page-watch",
   "tools": [
    "page_watch_check"
   ]
  },
  {
   "id": "agent-ready-check",
   "name": "Agent-Ready Check",
   "state": "live",
   "line": "Is your website ready for agents? Send a domain; see which agent files it publishes and what is missing.",
   "page": "https://llpro.ai/agent-ready-check",
   "tools": [
    "agent_ready_check"
   ]
  },
  {
   "id": "agent-card-check",
   "name": "Agent Card Check",
   "state": "live",
   "line": "Is your agent card well formed? Paste it; get a list of what is wrong and how to fix it.",
   "page": "https://llpro.ai/agent-card-check",
   "tools": [
    "agent_card_check"
   ]
  },
  {
   "id": "page-to-text",
   "name": "Page to Text",
   "state": "live",
   "line": "Turn a web page into clean readable text, with a signed, dated record of what was read.",
   "page": "https://llpro.ai/page-to-text",
   "tools": [
    "page_to_text"
   ]
  },
  {
   "id": "feed-reader",
   "name": "Feed Reader",
   "state": "live",
   "line": "Turn an RSS or Atom feed into clean items, with a signed, dated record of what the feed said.",
   "page": "https://llpro.ai/feed-reader",
   "tools": [
    "feed_read"
   ]
  },
  {
   "id": "list-cleaner",
   "name": "List Cleaner",
   "state": "live",
   "line": "Clean a pasted spreadsheet list: tidy cells, fix emails and phones, drop blanks and duplicates, and make formulas safe.",
   "page": "https://llpro.ai/list-cleaner",
   "tools": [
    "list_clean"
   ]
  },
  {
   "id": "sitemap-reader",
   "name": "Sitemap Reader",
   "state": "live",
   "line": "List the pages of a site with their last-changed dates, from its sitemap. Signed.",
   "page": "https://llpro.ai/sitemap-reader",
   "tools": [
    "sitemap_read"
   ]
  },
  {
   "id": "transaction-audit",
   "name": "Transaction Audit",
   "state": "live",
   "line": "Check a finished deal between two parties from its signed evidence. Signed result.",
   "page": "https://llpro.ai/transaction-audit",
   "tools": [
    "transaction_audit"
   ]
  },
  {
   "id": "spend-limits",
   "name": "Spend Limits",
   "state": "live",
   "line": "Check an agent's action against the limits its owner signed: budget cap, end date, allowed actions. Signed result. No money held.",
   "page": "https://llpro.ai/spend-limits",
   "tools": [
    "spend_limit_check"
   ]
  },
  {
   "id": "witness",
   "name": "Witness",
   "state": "live",
   "line": "An independent witness for a live deal: each party sends the hash of every event as it happens and gets a signed receipt with the time and its place in the chain.",
   "page": "https://llpro.ai/witness",
   "tools": [
    "witness_record"
   ]
  },
  {
   "id": "signed-handoffs",
   "name": "Signed Hand-off",
   "state": "live",
   "line": "When a long run stops to ask a human, record the question, the answer and who approved it as one signed, dated record.",
   "page": "https://llpro.ai/signed-handoffs",
   "tools": [
    "handoff_record"
   ]
  },
  {
   "id": "run-records",
   "name": "Signed Run Records",
   "state": "live",
   "line": "Check a long run's records signed by someone other than the agent, with a heartbeat on a clock. Agent transcripts and telemetry are not evidence.",
   "page": "https://llpro.ai/run-records",
   "tools": [
    "run_record_verify"
   ]
  },
  {
   "id": "underpayment-audit-compare",
   "name": "Underpayment Audit",
   "state": "live",
   "line": "Compare a payer's remits to your contract rates, line by line, and list the underpayments, with a signed record.",
   "page": "https://llpro.ai/underpayment-audit-compare",
   "tools": [
    "underpayment_audit_compare"
   ]
  },
  {
   "id": "hub",
   "name": "Hub",
   "state": "testing",
   "line": "Say a job in plain words and get the best services and outside agents for it, ranked by public Agent Record evidence. Our own services follow the same rules.",
   "page": "https://llpro.ai/hub",
   "tools": [
    "hub_route",
    "hub_directory"
   ]
  },
  {
   "id": "card-skimmer-and-pos-tamper-checks",
   "name": "Card Skimmer and POS Tamper Checks",
   "state": "live",
   "line": "Check a convenience store's card devices for skimmer and tamper signs, find the PCI questionnaire that fits, with sources, dates and a signed record.",
   "page": "https://llpro.ai/card-skimmer-and-pos-tamper-checks",
   "tools": [
    "card_skimmer_and_pos_tamper_checks"
   ]
  },
  {
   "id": "outcomes",
   "name": "Stamp outcomes",
   "state": "testing",
   "line": "Check whether a stamp was revoked, put on hold or challenged; open a dispute or appeal; make a privacy request. Every answer is signed.",
   "page": "https://llpro.ai/stamp/outcomes",
   "tools": [
    "outcome_status",
    "outcome_revocations",
    "outcome_dispute",
    "outcome_appeal",
    "outcome_privacy_request",
    "outcome_case"
   ]
  },
  {
   "id": "lpa-and-subscription-agreement",
   "name": "LPA and Subscription Agreement Comparer",
   "state": "live",
   "line": "Put the terms of two fund documents side by side: two LPAs, or an LPA and its subscription agreement. Differences, mismatches, points for a lawyer, official sources with dates, a signed record.",
   "page": "https://llpro.ai/lpa-and-subscription-agreement",
   "tools": [
    "lpa_and_subscription_agreement"
   ]
  },
  {
   "id": "capital-call-collection-chasing",
   "name": "Capital Call Collection Chasing",
   "state": "live",
   "line": "Chase unpaid capital calls for a syndicate or small fund, check the payment instructions for a change or a typo, with sources, dates and a signed record.",
   "page": "https://llpro.ai/capital-call-collection-chasing",
   "tools": [
    "capital_call_collection_chasing"
   ]
  },
  {
   "id": "agent-identity-check",
   "name": "Agent Identity Check",
   "state": "live",
   "line": "Check whether an agent's card, its domain and its published key agree. Shows control of a domain, not who the operator is in law.",
   "page": "https://llpro.ai/agent-identity-check",
   "tools": [
    "agent_identity_check"
   ]
  },
  {
   "id": "domain-health-check",
   "name": "Domain Health Check",
   "state": "live",
   "line": "Check a domain's mail and DNS setup: MX, SPF, DKIM hints, DMARC, certificate expiry, blocklists. Pass, fail or unknown for each, with the record seen and a signed result.",
   "page": "https://llpro.ai/domain-health-check",
   "tools": [
    "domain_health_check"
   ]
  },
  {
   "id": "email-address-check",
   "name": "Email Address Check",
   "state": "live",
   "line": "Check one email address before you use it: is it shaped right, does its domain take mail, is it a throwaway or a shared role address. Verdict and a signed result.",
   "page": "https://llpro.ai/email-address-check",
   "tools": [
    "email_address_check"
   ]
  },
  {
   "id": "website-technology-lookup",
   "name": "Website Technology Lookup",
   "state": "live",
   "line": "Look up what a website's public home page shows it is built with: site builder, shop platform, analytics, payments, hosting, and agent files. A signed, dated result.",
   "page": "https://llpro.ai/website-technology-lookup",
   "tools": [
    "website_tech_lookup"
   ]
  },
  {
   "id": "photo-background-remover",
   "name": "Photo Background Remover",
   "state": "live",
   "line": "Paste the web address of a photo and get it back with the background removed, as a see-through PNG.",
   "page": "https://llpro.ai/photo-background-remover",
   "tools": [
    "photo_background_remove"
   ]
  },
  {
   "id": "qr-codes",
   "name": "QR Codes That Never Expire",
   "state": "live",
   "line": "Make a QR code from text, a link or a stamp id. It never expires, is never tracked, and comes with a signed note of what it holds.",
   "page": "https://llpro.ai/qr-codes",
   "tools": [
    "qr_code_make"
   ]
  },
  {
   "id": "page-search-readiness",
   "name": "Page Search-Readiness Check",
   "state": "live",
   "line": "Check one page for search: title, description, headings, canonical, noindex, robots.txt, sitemap, structured data, image alt text, page weight. Pass or fix for each, with the evidence and a signed result.",
   "page": "https://llpro.ai/page-search-readiness",
   "tools": [
    "page_search_ready"
   ]
  },
  {
   "id": "invoice-maker",
   "name": "Invoice Maker",
   "state": "live",
   "line": "Make a clean PDF invoice from invoice fields, with a signed, dated receipt of the file's hash. Free, moves no money, stores nothing.",
   "page": "https://llpro.ai/invoice-maker",
   "tools": [
    "invoice_make"
   ]
  },
  {
   "id": "pdf-kit",
   "name": "PDF Kit for Agents",
   "state": "live",
   "line": "Page count, text, merge and split for PDFs you point to, with a signed, dated receipt holding the SHA-256 of every file in and out. Free, stores nothing.",
   "page": "https://llpro.ai/pdf-kit",
   "tools": [
    "pdf_kit"
   ]
  },
  {
   "id": "vat-number-check",
   "name": "EU VAT Number Check",
   "state": "live",
   "line": "Check one EU VAT number against the European Commission's official service: valid, not valid or service down, with the registered name and address where the country returns them. Signed and dated.",
   "page": "https://llpro.ai/vat-number-check",
   "tools": [
    "vat_number_check"
   ]
  },
  {
   "id": "local-business-finder",
   "name": "Local Business Finder",
   "state": "live",
   "line": "Find local businesses of one kind in one town from OpenStreetMap: name, website, phone, hours. Free, signed, credited.",
   "page": "https://llpro.ai/local-business-finder",
   "tools": [
    "local_business_find"
   ]
  },
  {
   "id": "resume-job-match",
   "name": "Resume and Job Post Match",
   "state": "live",
   "line": "Check your own resume against one job post: the skills, tools and credentials it asks for that your resume shows or misses, and format problems. Free, nothing kept.",
   "page": "https://llpro.ai/resume-job-match",
   "tools": [
    "resume_job_match"
   ]
  },
  {
   "id": "signed-page-snapshot",
   "name": "Signed Page Snapshot",
   "state": "live",
   "line": "Snapshot a public web page: screenshot, visible text and time, tied together by a signature anyone can check later.",
   "page": "https://llpro.ai/signed-page-snapshot",
   "tools": [
    "page_snapshot_signed"
   ]
  },
  {
   "id": "certified-register",
   "name": "LLPRO Certified",
   "state": "live",
   "line": "What LLPRO Certified means, how a product is assessed, and the public signed register. Nothing is certified yet.",
   "page": "https://llpro.ai/certified",
   "tools": [
    "certified_lookup"
   ]
  },
  {
   "id": "chemical-trade-credit-payment-days",
   "name": "Chemical Trade-Credit Payment Days",
   "state": "live",
   "line": "Turn your own trade-credit invoices into a days-to-pay and dispute-rate table by customer type and freight-surcharge line, with a signed record.",
   "page": "https://llpro.ai/chemical-trade-credit-payment-days",
   "tools": [
    "chemical_trade_credit_payment_days"
   ]
  },
  {
   "id": "card-dispute-outcome-table-win",
   "name": "Card Dispute Outcome Table",
   "state": "live",
   "line": "Win rate and days to close by card network reason code and by merchant, from the dispute cases you send, with the Regulation E and Z clocks, sources, dates and a signed record.",
   "page": "https://llpro.ai/card-dispute-outcome-table-win",
   "tools": [
    "card_dispute_outcome_table_win"
   ]
  },
  {
   "id": "dispute-record",
   "name": "Dispute Record",
   "state": "live",
   "line": "When two parties to one deal disagree, record both signed positions and what they agree on and contest. Records; never rules.",
   "page": "https://llpro.ai/dispute-record",
   "tools": [
    "dispute_record"
   ]
  },
  {
   "id": "agency-side-certificate-request",
   "name": "Agency-Side Certificate Request",
   "state": "live",
   "line": "Turn one certificate-of-insurance request into an ACORD 25 field draft and a checklist for licensed agency staff to check and sign, with official sources and a signed record.",
   "page": "https://llpro.ai/agency-side-certificate-request",
   "tools": [
    "agency_side_certificate_request"
   ]
  },
  {
   "id": "verified-attribution",
   "name": "Verified Attribution",
   "state": "live",
   "line": "Signed record of which keys said they referred and completed an agent-made sale or job, and the order we saw it in. We witness; we hold no money.",
   "page": "https://llpro.ai/verified-attribution",
   "tools": [
    "attribution_record",
    "attribution_statement"
   ]
  }
 ],
 "tools": [
  {
   "name": "ground_truth_ask",
   "title": "Ask a public fact",
   "service": "ground-truth",
   "readOnly": true
  },
  {
   "name": "ground_truth_sources",
   "title": "List fact topics and sources",
   "service": "ground-truth",
   "readOnly": true
  },
  {
   "name": "countersign_stamp",
   "title": "Check work and get a signed stamp",
   "service": "countersign",
   "readOnly": false
  },
  {
   "name": "countersign_verify",
   "title": "Verify a stamp",
   "service": "countersign",
   "readOnly": true
  },
  {
   "name": "countersign_log",
   "title": "Read the public stamp log",
   "service": "countersign",
   "readOnly": true
  },
  {
   "name": "agentrecord_lookup",
   "title": "Look up an agent or tool",
   "service": "agent-record",
   "readOnly": true
  },
  {
   "name": "agentrecord_search",
   "title": "Search the record",
   "service": "agent-record",
   "readOnly": true
  },
  {
   "name": "agentrecord_submit_receipt",
   "title": "Send a signed receipt",
   "service": "agent-record",
   "readOnly": false
  },
  {
   "name": "agentrecord_identity",
   "title": "Agentrecord Identity",
   "service": "agent-record",
   "readOnly": false
  },
  {
   "name": "agentrecord_census",
   "title": "Read a daily census",
   "service": "agent-record",
   "readOnly": true
  },
  {
   "name": "agentrecord_nominate",
   "title": "Nominate a tool for the census",
   "service": "agent-record",
   "readOnly": false
  },
  {
   "name": "launchpad_start",
   "title": "Start here: get a plan for a goal",
   "service": "launchpad",
   "readOnly": false
  },
  {
   "name": "launchpad_progress",
   "title": "Report progress on a plan",
   "service": "launchpad",
   "readOnly": false
  },
  {
   "name": "feedback_submit",
   "title": "Send feedback to LLPRO",
   "service": "feedback",
   "readOnly": false
  },
  {
   "name": "page_watch_check",
   "title": "Check whether a web page changed",
   "service": "page-watch",
   "readOnly": true
  },
  {
   "name": "agent_ready_check",
   "title": "Check whether a website is ready for agents",
   "service": "agent-ready-check",
   "readOnly": true
  },
  {
   "name": "agent_card_check",
   "title": "Check an A2A agent card and list the problems",
   "service": "agent-card-check",
   "readOnly": true
  },
  {
   "name": "page_to_text",
   "title": "Read a web page as clean text with links",
   "service": "page-to-text",
   "readOnly": true
  },
  {
   "name": "feed_read",
   "title": "Read an RSS or Atom feed as clean items",
   "service": "feed-reader",
   "readOnly": true
  },
  {
   "name": "list_clean",
   "title": "Clean a pasted CSV or text list",
   "service": "list-cleaner",
   "readOnly": true
  },
  {
   "name": "sitemap_read",
   "title": "List the pages of a site from its sitemap",
   "service": "sitemap-reader",
   "readOnly": true
  },
  {
   "name": "transaction_audit",
   "title": "Check a finished deal between two parties from its signed evidence. Signed result",
   "service": "transaction-audit",
   "readOnly": true
  },
  {
   "name": "spend_limit_check",
   "title": "Check an agent's action against the limits its owner signed: budget cap, end date, allowed actions. Signed result. No money held",
   "service": "spend-limits",
   "readOnly": true
  },
  {
   "name": "witness_record",
   "title": "An independent witness for a live deal: each party sends the hash of every event as it happens and gets a signed receipt with the time and its place in the chain",
   "service": "witness",
   "readOnly": false
  },
  {
   "name": "handoff_record",
   "title": "When a long run stops to ask a human, record the question, the answer and who approved it as one signed, dated record",
   "service": "signed-handoffs",
   "readOnly": true
  },
  {
   "name": "run_record_verify",
   "title": "Check a long run's records signed by someone other than the agent, with a heartbeat on a clock. Agent transcripts and telemetry are not evidence",
   "service": "run-records",
   "readOnly": true
  },
  {
   "name": "underpayment_audit_compare",
   "title": "Compare payer remits to contract rates",
   "service": "underpayment-audit-compare",
   "readOnly": true
  },
  {
   "name": "hub_route",
   "title": "Route a job to the best services and agents",
   "service": "hub",
   "readOnly": true
  },
  {
   "name": "hub_directory",
   "title": "Search the Hub directory",
   "service": "hub",
   "readOnly": true
  },
  {
   "name": "card_skimmer_and_pos_tamper_checks",
   "title": "Check card devices for tamper signs and find the PCI questionnaire",
   "service": "card-skimmer-and-pos-tamper-checks",
   "readOnly": true
  },
  {
   "name": "outcome_status",
   "title": "Check whether a stamp was revoked, disputed, or is on hold",
   "service": "outcomes",
   "readOnly": true
  },
  {
   "name": "outcome_revocations",
   "title": "List withdrawn stamps",
   "service": "outcomes",
   "readOnly": true
  },
  {
   "name": "outcome_dispute",
   "title": "Challenge a stamp",
   "service": "outcomes",
   "readOnly": false
  },
  {
   "name": "outcome_appeal",
   "title": "Appeal a dispute decision",
   "service": "outcomes",
   "readOnly": false
  },
  {
   "name": "outcome_privacy_request",
   "title": "Ask us to erase, stop using, or show personal data",
   "service": "outcomes",
   "readOnly": false
  },
  {
   "name": "outcome_case",
   "title": "Look up a dispute or notice by case id",
   "service": "outcomes",
   "readOnly": true
  },
  {
   "name": "lpa_and_subscription_agreement",
   "title": "Compare the terms of two fund documents side by side",
   "service": "lpa-and-subscription-agreement",
   "readOnly": true
  },
  {
   "name": "capital_call_collection_chasing",
   "title": "Chase capital calls and check payment instructions for a change",
   "service": "capital-call-collection-chasing",
   "readOnly": true
  },
  {
   "name": "agent_identity_check",
   "title": "Check whether an agent's card, its domain and its published key agree. Shows control of a domain, not who the operator is in law",
   "service": "agent-identity-check",
   "readOnly": true
  },
  {
   "name": "domain_health_check",
   "title": "Check a domain's mail and DNS health (MX, SPF, DKIM, DMARC, certificate)",
   "service": "domain-health-check",
   "readOnly": true
  },
  {
   "name": "email_address_check",
   "title": "Check one email address (syntax, mail servers, throwaway domain, role address)",
   "service": "email-address-check",
   "readOnly": true
  },
  {
   "name": "website_tech_lookup",
   "title": "Look up the technologies a site's home page shows (site builder, shop, analytics, payments, hosting, agent files)",
   "service": "website-technology-lookup",
   "readOnly": true
  },
  {
   "name": "photo_background_remove",
   "title": "Remove the background from one photo (transparent PNG, signed)",
   "service": "photo-background-remover",
   "readOnly": false
  },
  {
   "name": "qr_code_make",
   "title": "Make a static QR code that never expires (text, link or stamp id)",
   "service": "qr-codes",
   "readOnly": true
  },
  {
   "name": "page_search_ready",
   "title": "Check one page for search (title, description, headings, canonical, noindex, robots.txt, sitemap, structured data, alt text, weight)",
   "service": "page-search-readiness",
   "readOnly": true
  },
  {
   "name": "invoice_make",
   "title": "Make a PDF invoice from invoice fields, with a signed receipt of its hash",
   "service": "invoice-maker",
   "readOnly": true
  },
  {
   "name": "pdf_kit",
   "title": "PDF page count, text, merge and split from public PDF addresses, with a signed receipt of every file's SHA-256",
   "service": "pdf-kit",
   "readOnly": true
  },
  {
   "name": "vat_number_check",
   "title": "Check one EU VAT number against VIES (valid, not valid, service down; name and address where returned)",
   "service": "vat-number-check",
   "readOnly": true
  },
  {
   "name": "local_business_find",
   "title": "Find local businesses of one kind in one town from OpenStreetMap (name, website, phone, opening hours; credited, signed)",
   "service": "local-business-finder",
   "readOnly": true
  },
  {
   "name": "resume_job_match",
   "title": "Check your own resume against one job post: what it asks for, what your resume shows or misses, format problems (signed)",
   "service": "resume-job-match",
   "readOnly": true
  },
  {
   "name": "page_snapshot_signed",
   "title": "Take a signed snapshot of a public web page (screenshot, visible text, time)",
   "service": "signed-page-snapshot",
   "readOnly": true
  },
  {
   "name": "certified_lookup",
   "title": "What LLPRO Certified means, how a product is assessed, and the public signed register. Nothing is certified yet",
   "service": "certified-register",
   "readOnly": true
  },
  {
   "name": "chemical_trade_credit_payment_days",
   "title": "Build a days-to-pay and dispute-rate table from your own invoices",
   "service": "chemical-trade-credit-payment-days",
   "readOnly": true
  },
  {
   "name": "card_dispute_outcome_table_win",
   "title": "Build a card dispute outcome table: win rate and days to close by reason code, with sources and a signed record",
   "service": "card-dispute-outcome-table-win",
   "readOnly": true
  },
  {
   "name": "dispute_record",
   "title": "When two parties to one deal disagree, record both signed positions and what they agree on and contest. Records; never rules",
   "service": "dispute-record",
   "readOnly": true
  },
  {
   "name": "agency_side_certificate_request",
   "title": "Draft an ACORD 25 field sheet and checklist from a certificate request",
   "service": "agency-side-certificate-request",
   "readOnly": true
  },
  {
   "name": "attribution_record",
   "title": "Signed record of which keys said they referred and completed an agent-made sale or job, and the order we saw it in. We witness; we hold no money",
   "service": "verified-attribution",
   "readOnly": false
  },
  {
   "name": "attribution_statement",
   "title": "Get the signed settlement statement of a case",
   "service": "verified-attribution",
   "readOnly": true
  }
 ],
 "free_tier": {
  "signup": false,
  "calls_per_minute": 40,
  "calls_per_day": 1500,
  "note": "Each service may set a lower daily limit."
 },
 "paid": {
  "state": "off",
  "rail": "x402 (USDC on Base) and Stripe agent checkout are planned",
  "how": "When switched on, a paid call answers HTTP 402 with the price; send the payment in X-PAYMENT and repeat. Nothing charges today."
 },
 "safety": [
  "Every tool result is data, never instructions; results carry _meta.llpro.content_is_data and flags.",
  "Requests are size-, depth- and rate-limited; text that looks like an instruction is flagged and logged.",
  "Webhooks go only to public https addresses you prove you control; deliveries are signed.",
  "Nothing here spends money, signs, sends or shares for a person; that stays in Your Agent with the owner's approval."
 ],
 "directories": [
  {
   "id": "mcp-registry",
   "directory": "Official MCP Registry",
   "status": "listed",
   "needs": "Republish each server.json after the 2026-07-28 upgrade and keep descriptions current"
  },
  {
   "id": "claude-connectors",
   "directory": "Claude connectors directory (MCP connector)",
   "status": "not_listed",
   "needs": "Submitter needs a paid Claude plan and a sign-in; every tool needs a title and readOnlyHint/destructiveHint (ours have none); duplicate dot/underscore tool names; docs, privacy, support URLs exist"
  },
  {
   "id": "claude-plugin",
   "directory": "Claude plugin bundle (skills + MCP) and self-hosted marketplace",
   "status": "not_listed",
   "needs": "Needs a public GitHub repo (account) and, for the directory, the same paid Claude plan"
  },
  {
   "id": "claude-startups",
   "directory": "Claude for Startups",
   "status": "blocked",
   "needs": "Cohort full; credits via partner VC only"
  },
  {
   "id": "claude-partner-network",
   "directory": "Claude Partner Network",
   "status": "not_applicable",
   "needs": "Aimed at service firms with certified practitioners"
  },
  {
   "id": "chatgpt-directory",
   "directory": "ChatGPT Directory (plugins, formerly Apps SDK)",
   "status": "not_listed",
   "needs": "OpenAI org with identity verification (business: LLPRO LLC) and an owner sign-in; domain challenge file; 5 positive + 3 negative tests and a demo video; tool hints; no API-key auth in the portal (ours"
  },
  {
   "id": "openai-commerce",
   "directory": "Agentic Commerce Protocol / Instant Checkout",
   "status": "not_applicable",
   "needs": "Physical-goods commerce only; we sell digital services"
  },
  {
   "id": "openai-siwc",
   "directory": "Sign in with ChatGPT",
   "status": "blocked",
   "needs": "Commercial use is a limited trial for selected partners; no application route stated"
  },
  {
   "id": "google-agent-gallery",
   "directory": "Gemini Enterprise Agent Gallery / Agents Program (Google Cloud Marketplace)",
   "status": "not_listed",
   "needs": "Terms, fees and agent-to-agent requirement not readable (sell page truncated); needs a Google Cloud / Marketplace seller account; Google reviews function, accuracy and enterprise standards"
  },
  {
   "id": "google-startups",
   "directory": "Google for Startups Cloud Program",
   "status": "not_applicable",
   "needs": "AI tier is for funded startups (secondary source)"
  },
  {
   "id": "aws-marketplace",
   "directory": "AWS Marketplace: agents and tools (MCP Server / API-based tool)",
   "status": "not_listed",
   "needs": "AWS Partner Central seller account; EULA, refund policy and pricing (free allowed); limited visibility at first"
  },
  {
   "id": "aws-agentcore",
   "directory": "Bedrock AgentCore Agent Registry",
   "status": "not_applicable",
   "needs": "Buyer-side registry: the customer adds our live endpoint"
  },
  {
   "id": "ms-marketplace",
   "directory": "Microsoft Marketplace / Agent 365 via Partner Center",
   "status": "not_listed",
   "needs": "Partner Center account, Microsoft 365 and Copilot program, Entra tenant, publisher verification; heavy paperwork"
  },
  {
   "id": "perplexity",
   "directory": "Perplexity custom MCP connectors",
   "status": "not_applicable",
   "needs": "Customer registers our server; no public directory"
  },
  {
   "id": "xai",
   "directory": "Grok API remote MCP",
   "status": "not_applicable",
   "needs": "No directory; Grok calls any public MCP URL"
  },
  {
   "id": "a2a-card",
   "directory": "Signed agent card at /.well-known/agent-card.json",
   "status": "listed",
   "needs": "Cards are v0.3.0 shape; agent-to-agent is v1.0.1. No official agent-to-agent registry confirmed"
  },
  {
   "id": "community-mcp",
   "directory": "Glama, Smithery, PulseMCP, mcp.so, MCP Market, Docker catalog, awesome-mcp-servers, Cline",
   "status": "not_listed",
   "needs": "Tracked by the agent-to-agent Link seat (a2arel/channels.json); PulseMCP and mcp.so say they ingest the Official Registry"
  }
 ],
 "support": "support@llpro.ai",
 "llms": "https://llpro.ai/llms.txt"
}