Server definition
- Hash
- sha256:b05c7e29c24d5a08830c415c15d32065a86c73d5430795d3d5e715e31a68982e
- What it is
- What a remote MCP server returned when asked what it offers: 33 tools
The blob, as servednamed by its sha256
{
"instructions": "Access 868 compliance frameworks, 42,974+ controls, and 315K+ cross-framework mappings. Query the compliance knowledge graph to research requirements, map controls across frameworks, and analyse coverage gaps.",
"tools": [
{
"description": "Adoption Summary\n\nAdoption against baseline for one engagement: overall, by process area, and movement.\n\nSays whether the baseline was measured or reconstructed from artefacts, and whether the\ntwo waves are comparable at all. A pulse that used a different question set is reported\nas not comparable rather than differenced, because the difference would be between two\nrulers rather than two measurements.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"engagement_id": {
"minimum": 1,
"title": "engagement_id",
"type": "integer"
}
},
"required": [
"engagement_id"
],
"title": "adoption_get_adoption_summaryArguments",
"type": "object"
},
"name": "adoption_get_adoption_summary",
"outputSchema": null
},
{
"description": "Get Report\n\nThe latest management report as facts plus the evidence behind each one.\n\nReturns the fact sheet, not the rendered page. Every figure carries the responses or\nthe uploaded file it came from, so a claim can be checked rather than repeated.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"engagement_id": {
"minimum": 1,
"title": "engagement_id",
"type": "integer"
}
},
"required": [
"engagement_id"
],
"title": "adoption_get_reportArguments",
"type": "object"
},
"name": "adoption_get_report",
"outputSchema": null
},
{
"description": "List Engagements\n\nEvery adoption engagement the signed in consultant runs, with its current state.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "adoption_list_engagementsArguments",
"type": "object"
},
"name": "adoption_list_engagements",
"outputSchema": null
},
{
"description": "Build a checkout for one or more courses\n\nTurn 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.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"product_ids": {
"title": "product_ids",
"type": "string"
},
"store": {
"default": "main",
"title": "store",
"type": "string"
}
},
"required": [
"product_ids"
],
"title": "agent_buy_courseArguments",
"type": "object"
},
"name": "agent_buy_course",
"outputSchema": null
},
{
"description": "Get a checkout link for a crosswalk report\n\nReturns a payment link for the crosswalk between two frameworks. Released pairs are delivered immediately on payment; any other pair is built to order at the same price.\n\nThis returns a LINK, it does not take payment. An agent hands the link to whoever it is acting for. No card details pass through the agent.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_buy_crosswalkArguments",
"type": "object"
},
"name": "agent_buy_crosswalk",
"outputSchema": null
},
{
"description": "Get a checkout link for a single document compliance review\n\nReturns a payment link for a Single Document Compliance Review against one framework. On payment the buyer is emailed a single-use link that opens the same automated pipeline a Professional subscriber uses: upload one PDF or Word document, get back a gap analysis naming every control the document addresses and every one it does not, and a rewritten version drafted against those gaps.\n\nThis returns a LINK, it does not take payment. An agent hands the link to whoever it is acting for. No card details pass through the agent.\n\nIt produces draft policy language and a gap list. It does not make anyone compliant, and no tool can: that judgement is an assessor's.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_buy_reviewArguments",
"type": "object"
},
"name": "agent_buy_review",
"outputSchema": null
},
{
"description": "Capital by the business function it targets\n\nWhere the money went, classified by whose job it changes.\n\nSector labels describe the company; function labels describe the buyer. The\nsecond is the only one a reader can act on, which is why the classification\nis by function throughout.\n\nConcentration is reported when one deal carries a bucket, because a total\ncan be arithmetically true and still mislead: one $1B debt facility once\naccounted for 73% of a function and 38% of a whole week.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_capital_by_functionArguments",
"type": "object"
},
"name": "agent_capital_by_function",
"outputSchema": null
},
{
"description": "What everything you already hold covers, together\n\nPAID PER CALL, $0.015 over x402 (USDC on Base); a Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs, agent_search_frameworks. Give the frameworks an organisation already holds and one it needs. Returns what they cover TOGETHER, what each one adds that the others do not, and what none of them reaches.\n\nNo organisation holds one certification, and the marginal number is the one worth knowing: a second and third certification often add far less than expected.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"holds": {
"title": "holds",
"type": "string"
},
"target": {
"title": "target",
"type": "string"
}
},
"required": [
"holds",
"target"
],
"title": "agent_combined_coverageArguments",
"type": "object"
},
"name": "agent_combined_coverage",
"outputSchema": null
},
{
"description": "Controls a funded capability actually touches\n\nThe join. A capability, and the controls whose own text concerns it.\n\nMatched against the control's requirement text, never against its title\nalone: a title that reads like a familiar control is the most expensive kind\nof wrong match. Returns nothing rather than something strained when the\ncapability finds no purchase, because a join that always finds something is\nworthless.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"capability": {
"description": "What is being funded, e.g. 'agents that act across systems'",
"minLength": 3,
"title": "capability",
"type": "string"
},
"framework": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Restrict to one framework by name",
"title": "framework",
"type": "string"
},
"limit": {
"default": 12,
"maximum": 40,
"minimum": 1,
"title": "limit",
"type": "integer"
},
"min_hits": {
"default": 0,
"description": "Distinctive terms a control must contain. 0 chooses for you.",
"maximum": 4,
"minimum": 0,
"title": "min_hits",
"type": "integer"
}
},
"required": [
"capability"
],
"title": "agent_controls_touched_byArguments",
"type": "object"
},
"name": "agent_controls_touched_by",
"outputSchema": null
},
{
"description": "What a course actually teaches, module by module\n\nFREE, 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.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"product_id": {
"title": "product_id",
"type": "integer"
}
},
"required": [
"product_id"
],
"title": "agent_course_contentsArguments",
"type": "object"
},
"name": "agent_course_contents",
"outputSchema": null
},
{
"description": "Find courses covering several standards at once\n\nGiven two or more standards, returns courses that address ALL of them together, which is what an organisation running overlapping programmes actually needs.\n\nExample: frameworks='SOC 2,ISO 27001' returns courses on running both from one evidence set, rather than one course per standard.\n\nFalls back to reporting which standards have coverage if no single course spans them all. No authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"frameworks": {
"description": "Comma-separated, e.g. 'SOC 2,ISO 27001'",
"title": "frameworks",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"title": "limit",
"type": "integer"
}
},
"required": [
"frameworks"
],
"title": "agent_courses_for_frameworksArguments",
"type": "object"
},
"name": "agent_courses_for_frameworks",
"outputSchema": null
},
{
"description": "What one framework already evidences of another\n\nGiven a framework you already hold and one you are working toward, returns which of the target's controls your existing evidence already covers, which remain as gaps, and the reasoning for every claim.\n\nExample: source='SOC 2', target='ISO 27001:2022'.\n\nMappings are derived judgements, not text lifted from either standard, and each has survived an adversarial verification pass. Where no mappings exist between the pair, the response says so explicitly rather than reporting zero coverage, because an absence of data is not a coverage of zero.\n\nPAID 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 Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs lists every released pair, agent_search_frameworks and agent_get_framework cover the catalogue.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"min_confidence": {
"default": "high",
"description": "high, medium or low",
"title": "min_confidence",
"type": "string"
},
"source": {
"description": "Framework you already hold, e.g. 'SOC 2'",
"title": "source",
"type": "string"
},
"target": {
"description": "Framework you are working toward, e.g. 'ISO 27001:2022'",
"title": "target",
"type": "string"
}
},
"required": [
"source",
"target"
],
"title": "agent_coverage_crosswalkArguments",
"type": "object"
},
"name": "agent_coverage_crosswalk",
"outputSchema": null
},
{
"description": "Get cross-framework coverage report for a framework\n\nPAID PER CALL, $0.015 over x402 (USDC on Base); a Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs, agent_search_frameworks. Returns a coverage analysis showing how many controls in the given framework map to controls in every other framework. Includes total controls, mapped control counts, and coverage percentages per target framework. Use this to understand which frameworks overlap most and plan multi-framework strategies.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"name": {
"title": "name",
"type": "string"
}
},
"required": [
"name"
],
"title": "agent_coverage_reportArguments",
"type": "object"
},
"name": "agent_coverage_report",
"outputSchema": null
},
{
"description": "Map controls between two compliance frameworks\n\nPAID PER CALL, $0.015 over x402 (USDC on Base); a Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs, agent_search_frameworks. Returns the complete control-to-control mapping between a source and target framework. Each mapping shows which source control maps to which target control(s). This enables multi-framework compliance: satisfy one control to cover requirements in both frameworks. Use exact framework names as returned by agent_search_frameworks.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"source": {
"description": "Source framework name (e.g. 'ISO 27001:2022')",
"title": "source",
"type": "string"
},
"target": {
"description": "Target framework name (e.g. 'NIST Cybersecurity Framework 2.0')",
"title": "target",
"type": "string"
}
},
"required": [
"source",
"target"
],
"title": "agent_cross_framework_mapArguments",
"type": "object"
},
"name": "agent_cross_framework_map",
"outputSchema": null
},
{
"description": "Everything about one crosswalk pair, including what was rejected\n\nOne 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.\n\nThe rejected claims are part of the answer, not an appendix. A coverage number quoted without them is a number nobody argued with.\n\nPAID 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 Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs lists every released pair, agent_search_frameworks and agent_get_framework cover the catalogue.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"limit": {
"default": 8,
"title": "limit",
"type": "integer"
},
"source": {
"title": "source",
"type": "string"
},
"target": {
"title": "target",
"type": "string"
}
},
"required": [
"source",
"target"
],
"title": "agent_crosswalk_pairArguments",
"type": "object"
},
"name": "agent_crosswalk_pair",
"outputSchema": null
},
{
"description": "How do you know this: the grounding behind a crosswalk's claims\n\nFor any released framework pair, return the reasoning and the provenance behind its mappings: what document each control was verified against, when, who judged the mapping, on what date, and whether it survived an adversarial pass that argued against it.\n\nPAID PER CALL, $0.015 over x402 (USDC on Base); a Professional API key is served free instead. A claim you cannot check is worth nothing, so the checking is not the paid part.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"title": "limit",
"type": "integer"
},
"source": {
"title": "source",
"type": "string"
},
"target": {
"title": "target",
"type": "string"
}
},
"required": [
"source",
"target"
],
"title": "agent_crosswalk_provenanceArguments",
"type": "object"
},
"name": "agent_crosswalk_provenance",
"outputSchema": null
},
{
"description": "What was claimed and did not hold, with the reason\n\nPAID PER CALL, $0.015 over x402 (USDC on Base); a Professional API key is served free instead. Free without payment or key: agent_crosswalk_pairs, agent_search_frameworks. The mappings that were proposed for a pair and then refuted, each with why it failed. Refuted mappings are kept in the graph rather than deleted, so what was rejected is as inspectable as what survived.\n\nThis is the check worth running on any coverage claim: a crosswalk that never rejects anything is not being judged.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"limit": {
"default": 25,
"title": "limit",
"type": "integer"
},
"source": {
"title": "source",
"type": "string"
},
"target": {
"title": "target",
"type": "string"
}
},
"required": [
"source",
"target"
],
"title": "agent_crosswalk_refutedArguments",
"type": "object"
},
"name": "agent_crosswalk_refuted",
"outputSchema": null
},
{
"description": "Get detailed information about a specific control\n\nReturns full details for a single control by its code identifier: title, description, domain, and framework. Control codes are framework-specific (e.g. 'A.5.1' for ISO 27001, 'AC-1' for NIST 800-53).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"code": {
"title": "code",
"type": "string"
}
},
"required": [
"code"
],
"title": "agent_get_controlArguments",
"type": "object"
},
"name": "agent_get_control",
"outputSchema": null
},
{
"description": "Get cross-framework mappings for a control\n\nReturns all controls in other frameworks that map to the given control via MAPS_TO relationships. This is the core cross-framework mapping capability: use it to find equivalent controls across different compliance frameworks (e.g. NIST 800-53 equivalents of ISO 27001 controls).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"code": {
"title": "code",
"type": "string"
}
},
"required": [
"code"
],
"title": "agent_get_control_cross_referencesArguments",
"type": "object"
},
"name": "agent_get_control_cross_references",
"outputSchema": null
},
{
"description": "Get one course\n\nFull detail for a single course by product id, including every standard it covers and its purchase URL. Use after agent_search_courses to justify a recommendation. No authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"product_id": {
"title": "product_id",
"type": "integer"
}
},
"required": [
"product_id"
],
"title": "agent_get_courseArguments",
"type": "object"
},
"name": "agent_get_course",
"outputSchema": null
},
{
"description": "Get detailed information about a compliance framework\n\nReturns comprehensive details about a specific compliance framework: description, jurisdiction, version, domains with control counts, and cross-framework mapping statistics. Use the exact framework name as returned by agent_search_frameworks.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"name": {
"title": "name",
"type": "string"
}
},
"required": [
"name"
],
"title": "agent_get_frameworkArguments",
"type": "object"
},
"name": "agent_get_framework",
"outputSchema": null
},
{
"description": "Get all controls for a compliance framework\n\nReturns all controls belonging to a framework, optionally filtered by domain. Each control includes: code, title, description, and domain. For large frameworks (e.g. NIST SP 800-53 Rev 5), use the domain filter to narrow results.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter controls by domain name",
"title": "domain",
"type": "string"
},
"name": {
"title": "name",
"type": "string"
}
},
"required": [
"name"
],
"title": "agent_get_framework_controlsArguments",
"type": "object"
},
"name": "agent_get_framework_controls",
"outputSchema": null
},
{
"description": "Get all controls for a framework, naming it as a query parameter\n\nIdentical to agent_get_framework_controls, taking the framework name as a query parameter instead of a path segment.\n\nUse 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.\n\nFree, no authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"domain": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter controls by domain name",
"title": "domain",
"type": "string"
},
"name": {
"description": "Exact framework name, e.g. 'CCPA/CPRA'",
"title": "name",
"type": "string"
}
},
"required": [
"name"
],
"title": "agent_get_framework_controls_by_nameArguments",
"type": "object"
},
"name": "agent_get_framework_controls_by_name",
"outputSchema": null
},
{
"description": "List standards the catalogue covers\n\nEvery standard that has courses, with a course count each. Use this to discover valid values for the framework filter before searching. No authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_list_course_frameworksArguments",
"type": "object"
},
"name": "agent_list_course_frameworks",
"outputSchema": null
},
{
"description": "Framework pairs with a released coverage crosswalk\n\nLists the framework pairs that have a reviewed, signed-off coverage crosswalk, with the coverage figure for each. Call this before agent_coverage_crosswalk to find out which pairs return a number.\n\nA pair that is not listed here has not been through review. Asking for it returns an honest 'not released' rather than an unreviewed percentage. Any pair across the any framework pair in the graph can be built to order, one pair being one unit of work.\n\nNo authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_list_crosswalk_pairsArguments",
"type": "object"
},
"name": "agent_list_crosswalk_pairs",
"outputSchema": null
},
{
"description": "Get platform statistics\n\nReturns current platform statistics: total framework count, control count, cross-framework mapping count, and domain count. No authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_platform_statsArguments",
"type": "object"
},
"name": "agent_platform_stats",
"outputSchema": null
},
{
"description": "Get API pricing and rate limit information\n\nReturns current API pricing tiers, monthly call limits, and (if authenticated) your current month's usage. Use this to understand costs before making API calls.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {},
"title": "agent_pricing_infoArguments",
"type": "object"
},
"name": "agent_pricing_info",
"outputSchema": null
},
{
"description": "Full-text search across controls and frameworks\n\nSearch the compliance knowledge graph using full-text search. Type 'controls' searches control titles and descriptions. Type 'frameworks' searches framework names and descriptions. Use specific compliance terms for best results (e.g. 'access control', 'encryption at rest', 'data breach notification').\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Maximum results to return",
"maximum": 100,
"minimum": 1,
"title": "limit",
"type": "integer"
},
"query": {
"description": "Search query (e.g. 'access control', 'encryption at rest')",
"title": "query",
"type": "string"
},
"type": {
"default": "controls",
"description": "Search type: 'controls' for control titles/descriptions, 'frameworks' for framework names/descriptions",
"title": "type",
"type": "string"
}
},
"required": [
"query"
],
"title": "agent_searchArguments",
"type": "object"
},
"name": "agent_search",
"outputSchema": null
},
{
"description": "Search what courses teach, across the whole catalogue\n\nFREE, 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 them.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"title": "limit",
"type": "integer"
},
"q": {
"title": "q",
"type": "string"
}
},
"required": [
"q"
],
"title": "agent_search_course_contentArguments",
"type": "object"
},
"name": "agent_search_course_content",
"outputSchema": null
},
{
"description": "Search the course catalogue\n\nFind courses by need, framework, role or industry. Free-text search over the catalogue, optionally narrowed to a named standard.\n\nExamples: q='soc 2 evidence collection', q='first 90 days as CISO', q='data governance healthcare', or q='audit preparation' with framework='ISO 27001'.\n\nReturns up to 25 courses with a direct purchase URL. No authentication required.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"framework": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Narrow to a standard, e.g. 'SOC 2'",
"title": "framework",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"title": "limit",
"type": "integer"
},
"q": {
"description": "What the buyer needs to do",
"minLength": 2,
"title": "q",
"type": "string"
}
},
"required": [
"q"
],
"title": "agent_search_coursesArguments",
"type": "object"
},
"name": "agent_search_courses",
"outputSchema": null
},
{
"description": "Search and list compliance frameworks\n\nSearch the compliance knowledge graph for frameworks by name, keyword, or jurisdiction. Returns framework metadata including name, description, jurisdiction, domain count, control count, and mapping-partner count. Without a query, returns all frameworks. Use this as the starting point to discover available frameworks.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"jurisdiction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by jurisdiction (e.g. 'International', 'Australia', 'United States', 'European Union')",
"title": "jurisdiction",
"type": "string"
},
"limit": {
"default": 50,
"description": "Maximum frameworks to return",
"maximum": 200,
"minimum": 1,
"title": "limit",
"type": "integer"
},
"offset": {
"default": 0,
"description": "How many to skip, for paging through the whole catalogue. The limit caps at 200, so an agent that wants every framework pages with offset=0, 200, 400 until it gets fewer than it asked for.",
"minimum": 0,
"title": "offset",
"type": "integer"
},
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search query to filter by name or keyword (e.g. 'ISO 27001', 'privacy', 'Australian')",
"title": "q",
"type": "string"
}
},
"title": "agent_search_frameworksArguments",
"type": "object"
},
"name": "agent_search_frameworks",
"outputSchema": null
},
{
"description": "Where a framework meets where the money is going\n\nA framework, a function, and the controls where the two meet.\n\nThis answers the question the brief cannot answer for a reader, because it\ndoes not know who they are: money is moving into this capability, and here\nis what my own standard already asks of me about it.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"framework": {
"description": "The standard you are held to",
"minLength": 2,
"title": "framework",
"type": "string"
},
"function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Your function, e.g. 'AI and automation'",
"title": "function",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 40,
"minimum": 1,
"title": "limit",
"type": "integer"
}
},
"required": [
"framework"
],
"title": "agent_signal_exposureArguments",
"type": "object"
},
"name": "agent_signal_exposure",
"outputSchema": null
},
{
"description": "Funded rounds in the current window, filtered\n\nThe genuine funded rounds, each with its source.\n\nRows are already filtered: rate decisions, analyst price targets, bond\nissues, buybacks, parked domains, rumoured rounds and figures that were\nactually valuations are all excluded. The count of what was rejected is\nreturned alongside, so the filtering can be argued with.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json",
"inputSchema": {
"properties": {
"function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Business function or sector, e.g. 'AI and automation'",
"title": "function",
"type": "string"
},
"instrument": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "equity, debt, grant, secondary or form_d",
"title": "instrument",
"type": "string"
},
"limit": {
"default": 20,
"maximum": 40,
"minimum": 1,
"title": "limit",
"type": "integer"
},
"min_usd": {
"default": 0,
"description": "Ignore rounds smaller than this",
"title": "min_usd",
"type": "number"
}
},
"title": "agent_signals_this_weekArguments",
"type": "object"
},
"name": "agent_signals_this_week",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b05c7e29c24d5a08830c415c15d32065a86c73d5430795d3d5e715e31a68982e | sha256sum