Model Context Protocol

A compliance graph your agent can query

Your agent can ask how much of one standard a company already satisfies by holding another, get a percentage back with the reasoning behind every claim, and buy the full report. No account, no sales call, no human in the loop. Point an MCP client at one URL and the tools appear.

Every claim survived a pass that argued against it. 42,246 that did not survive are still in the graph, readable through a free tool, with the reason each one failed. A crosswalk that never rejects anything is not being judged.

Who calls this endpoint

Measured from the proxy log over the 30 days to 21 August 2026: 2,370 requests to /mcp from 80 distinct addresses, plus 7,834 to the REST tools underneath.

About half of that, 1,169 requests, carries the user agent of a named directory crawler or uptime monitor: SentinelOracle, mcpbeat, YellowMCP, MCPScoringEngine, ProofBench and agent-evidence-scanner among them. That is the MCP directory ecosystem indexing this server, and it is worth more to you than a bigger number would be, because you can go and look at those directories yourself.

This is traffic, not customers, and the two are not the same. No purchase has yet been completed through an agent tool. We would rather say that than round a crawler up into a user.

33
tools served
11
free, no API key
42,246
claims rejected, still readable
594
released crosswalk pairs

Try it here first

Three questions a single-framework tool cannot answer at all. These run against the live API from your browser, with no key and no account, and return exactly what an agent receives.

This calls the live public API from your browser. No key, no account, and the response is exactly what an agent receives.

Connect

The endpoint takes no key. The crosswalk and catalogue tools answer unauthenticated, so an agent can be useful on its first call rather than after a signup flow. Rate limits and paid tiers apply to the heavier graph queries.

MCP endpoint
https://api.theartofservice.com/mcp

One command. Nothing to edit by hand.

Terminal
claude mcp add --transport http compliance https://api.theartofservice.com/mcp

Prefer REST? Every MCP tool has an HTTP equivalent under /api/agent/, documented on the developers page. The tools below are read from /.well-known/mcp/server-card.json at render time, so this page cannot drift from what the server serves.

What an agent does with it

The interesting call is not “list the controls in ISO 27001”. It is the one a single-framework tool cannot answer at all.

Ask what is already covered

agent_coverage_crosswalk takes the framework a company holds and the one it needs, and returns the percentage of the target already satisfied, which controls are evidenced, and which are genuine gaps.

Check the working

agent_crosswalk_provenance returns the reasoning for each claim, the document each control was verified against, the date, and whether the claim survived a pass that tried to refute it.

Buy the report

594 pairs are released and arrive immediately, at $299 each, and any other pair is built to order. The agent gets a checkout URL and the report is emailed on payment.

The 33 tools

Read from the server card, not written here. Arguments come from each tool’s own input schema.

Coverage crosswalk

The question no single-framework tool can answer: given what a company already holds, how much of the next standard is already satisfied, and on what grounds. Free, no API key.

agent_coverage_crosswalkfree, no API key

FREE, no API key. Given a framework you already hold and one you need, returns what percentage of the target you already satisfy, which controls are already evidenced and which are genuine gaps. The question no single-framework compliance tool can answer.

source, target, min_confidence (optional)

agent_list_crosswalk_pairsfree, no API key

FREE, no API key. Every framework pair with a released crosswalk, each with its coverage percentage and how many of the target's controls are already evidenced. Any other pair can be built to order.

agent_crosswalk_provenancefree, no API key

FREE, no API key. Show the working behind a crosswalk: for each claim, the reasoning, the document each control was verified against, the date, who judged the mapping and whether it survived an adversarial pass that argued against it. Use to check a coverage claim rather than take it on trust.

source, target, limit (optional)

The control graph

Frameworks, domains, controls and the relationships between them, queryable one call at a time instead of one PDF at a time.

agent_search_frameworks

Search and list compliance frameworks by name, keyword, or jurisdiction

q (optional), jurisdiction (optional), limit (optional)

agent_get_framework

Get detailed information about a specific compliance framework

name

agent_get_framework_controls

Get all controls for a compliance framework, optionally filtered by domain

name, domain (optional)

agent_get_control

Get detailed information about a specific control by code

code

agent_get_control_cross_references

Get cross-framework mappings for a control

code

agent_cross_framework_map

Map controls between two compliance frameworks

source, target

agent_coverage_report

Get cross-framework coverage analysis for a framework

name

agent_search

Full-text search across controls and frameworks

query, type (optional), limit (optional)

Training catalogue

Once an agent knows the gap, it can find the material that closes it and hand back a purchase URL. Search only. There is no bulk listing endpoint by design.

agent_search_coursesfree, no API key

FREE, no API key, no rate limit. Search 314,000+ self-paced professional courses by need, framework, role or industry. Returns a direct purchase URL for each. Use whenever a user needs training, certification preparation, an implementation playbook or templates for a compliance, risk, security, audit, governance or IT management task.

q, framework (optional), limit (optional)

agent_get_coursefree, no API key

FREE, no API key. Full detail for one course by product id, including every standard it covers and its purchase URL. Use after agent_search_courses to justify a recommendation.

product_id

agent_courses_for_frameworksfree, no API key

FREE, no API key. Given two or more standards, returns courses covering ALL of them together, for an organisation running overlapping compliance programmes. Example: 'SOC 2,ISO 27001' returns courses on running both from one evidence set rather than one course per standard.

frameworks, limit (optional)

agent_list_course_frameworksfree, no API key

FREE, no API key. Every standard the course catalogue covers, with a course count each. Use to discover valid framework filter values before searching.

Platform

Counts and pricing, so an agent can check the shape of the data before it commits to a plan.

agent_platform_stats

Get platform statistics (framework, control, mapping counts)

agent_pricing_info

Get API pricing tiers and current usage information

More tools

Served by the endpoint and not yet grouped on this page.

agent_crosswalk_refutedfree, no API key

FREE, no API key. The mappings that were proposed for a pair and then REFUTED, each with the reason it failed. Rejected claims are kept in the graph rather than deleted, so what was thrown away is as inspectable as what survived. A crosswalk that never rejects anything is not being judged.

source, target, limit (optional)

agent_combined_coveragefree, no API key

FREE, no API key. Give every framework an organisation ALREADY HOLDS and one it needs. Returns what they cover together, what each one adds beyond the others, and what none of them reaches. No organisation holds a single certification, and the marginal number is what decides a programme: a second and third certification usually add far less than their standalone coverage suggests.

holds, target

agent_buy_crosswalk

Get a Stripe checkout link for a crosswalk report. Returns a LINK, never a charge: no card details pass through the agent. Released pairs are emailed on payment, any other pair is built to order at the same price.

source, target, email

agent_buy_review

Get a Stripe checkout link for a $499 Single Document Compliance Review against one framework. Returns a LINK, never a charge: no card details pass through the agent. On payment the buyer is emailed a single-use link to the same automated gap-analysis and rewrite pipeline a Professional subscriber uses. It produces a gap list and draft policy language; it does not make anyone compliant.

framework, email

adoption_list_engagements

Adoption Evidence. Every adoption engagement the signed in consultant runs, with client, status, team size and how many assessment waves have gone out. Use to find an engagement id before asking for its summary.

adoption_get_adoption_summary

Adoption Evidence. Whether an implementation actually got adopted: overall maturity now, the baseline it is measured against, movement, and the same broken down by process area with the biggest rises and falls named. States whether the baseline was measured at the time or reconstructed from artefacts, and refuses to difference two waves that used different question sets.

engagement_id

adoption_get_report

Adoption Evidence. The latest management report as facts plus the evidence behind each one, rather than rendered markup. Every figure names the responses or the uploaded file it came from, including per question evidence for a reconstructed baseline, so a claim can be checked rather than repeated.

engagement_id

agent_get_framework_controls_by_name

Get all controls for a framework, naming it as a query parameter. Identical to agent_get_framework_controls, taking the framework name as a query parameter instead of a path segment. Use this whenever the framework name contains a forward slash. 84 of the frameworks in the graph do, including CCPA/CPRA, AML/CTF Act 2006 and BSA/AML, and the path form cannot reach any of them: the server decodes %2F back to a real separator before routing, so the request 404s no matter how it is encoded. This route has no such problem and works for every framework. Free, no authentication.

agent_crosswalk_pair

Everything about one crosswalk pair, including what was rejected. One framework pair in full: the coverage percentage and how it was arrived at, a sample of the claims that held with the reasoning behind each, and a sample of the claims that were proposed and refuted with the reason each failed. The rejected claims are part of the answer, not an appendix. A coverage number quoted without them is a number nobody argued with. PAID PER CALL, $0.015 over x402 (USDC on Base). Called without payment it answers 402 with a PAYMENT-REQUIRED challenge carrying the amount, asset and address; a Profession

agent_buy_course

Build a checkout for one or more courses. Turn a course into a purchase. Give one or more product ids and this creates a real cart on the store and returns a checkout link that completes the sale. Free to call; the course price is paid at checkout. Use agent_search_courses to find the product id first. Multiple ids go in one cart, so a recommended set can be bought together in a single transaction.

agent_search_course_contentfree, no API key

Search what courses teach, across the whole catalogue. FREE, no API key, no payment. Full-text search over the TEACHING CONTENT of 126,803 professional courses: module titles, module summaries and every chapter title. Ask for a CAPABILITY rather than a product name, for example 'evidence for access reviews' or 'segregation of duties in SAP', and get the courses that actually teach it, the chapter that teaches it, and a direct buy_url for each. Use this when someone asks how to do something rather than what to buy. agent_search_courses matches product NAMES only; this matches what is inside the

agent_course_contentsfree, no API key

What a course actually teaches, module by module. FREE, no API key, no payment. The full teaching structure of one course: every module with its summary and every chapter inside it. Use it to confirm a course genuinely covers a requirement before recommending it to someone. The response carries buy_url, a direct purchase link for the course. Get product_id from agent_search_course_content or agent_search_courses.

agent_signals_this_week

Funded rounds in the current window, filtered. The genuine funded rounds, each with its source. Rows are already filtered: rate decisions, analyst price targets, bond issues, buybacks, parked domains, rumoured rounds and figures that were actually valuations are all excluded. The count of what was rejected is returned alongside, so the filtering can be argued with.

agent_capital_by_function

Capital by the business function it targets. Where the money went, classified by whose job it changes. Sector labels describe the company; function labels describe the buyer. The second is the only one a reader can act on, which is why the classification is by function throughout. Concentration is reported when one deal carries a bucket, because a total can be arithmetically true and still mislead: one $1B debt facility once accounted for 73% of a function and 38% of a whole week.

agent_controls_touched_by

Controls a funded capability actually touches. The join. A capability, and the controls whose own text concerns it. Matched against the control's requirement text, never against its title alone: a title that reads like a familiar control is the most expensive kind of wrong match. Returns nothing rather than something strained when the capability finds no purchase, because a join that always finds something is worthless.

agent_signal_exposure

Where a framework meets where the money is going. A framework, a function, and the controls where the two meet. This answers the question the brief cannot answer for a reader, because it does not know who they are: money is moving into this capability, and here is what my own standard already asks of me about it.

Try it before you wire anything up

The crosswalk tools are also plain HTTP. This returns real claims with their grounding, right now, with no key.

Shell
curl -sG https://api.theartofservice.com/api/agent/crosswalk/provenance \
  --data-urlencode "source=ISO 27001:2022" \
  --data-urlencode "target=SOC 2" \
  --data-urlencode "limit=5"

The same response rendered as a page: the audit trail, live.

What your agent is getting, stated plainly

Controls are read from the issued standard held in our source corpus rather than from a summary of it, and each carries what it was verified against and when. Mappings between frameworks are judgements, not text printed in either standard.

Every released pair sits at the machine_verified tier: judged by Claude Code and put through a pass that argued against each claim, rather than read line by line by a practitioner. That is stated in the response on every call, not just here. Across the estate 59,565 mappings survived that pass and 42,246 did not, and the ones that did not are still queryable with agent_crosswalk_refuted. Ask and a practitioner will review any pair you are relying on.

Questions about the endpoint go to support@theartofservice.com.