Requstory MCP
Requstory maps how a company works from its website, identifies operational gaps, and runs B2B order-to-cash processes using AI agents. It allows agents to map websites, read process models, ask questions about organizational structure, and execute order-to-cash workflows with human-in-the-loop exception handling.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://requstory.com/mcpWhat you can do with it
- Map a company website to identify teams, processes, and gaps
- Run B2B order-to-cash agents for orders, shipping, and payments
- Check AI readiness of a company website
- Order an AI readiness report
Source and maintenance
Protocol and capabilities
- Server
- requstory 1.2.0
- MCP protocol
- 2025-06-18
- Tools
- 19 advertised
- Resources
- 1 advertised
- Resource templates
- 2 advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
},
"resources": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
19 advertised
search_companies — Search companies
Find companies Requstory has already mapped and scored from their public websites, by name or website. Use this first to get the "slug" for get_company_score. For a company that is not found, use check_ai_readiness (quick, public) or map_website (full map, needs a key).
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Up to 50; default 10."
},
"query": {
"type": "string",
"description": "Part of a company name or website, e.g. \"stripe\"."
},
"industry": {
"type": "string",
"description": "Optional industry id, e.g. \"dental\" or \"payments-fintech\"."
}
},
"additionalProperties": false
}{
"title": "Search companies",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_company_score — Get company ease score
Get a public company's ease-of-doing-business score (0–100, four parts: find and understand, get started online, get help, AI-agent ready), its ranking place, and the gaps that cost it points, most costly first, with proof. Use after search_companies. For a site with no public page, use check_ai_readiness instead.
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Company slug from search_companies, e.g. \"posthog-com\"."
}
},
"additionalProperties": false
}{
"title": "Get company ease score",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}check_ai_readiness — Check AI-agent readiness
Check whether AI agents can read, understand and act on any website (bots allowed, readable pages, product data, checkout, help). Reads up to 3 public pages; results are kept for 24 hours and public at requstory.com/ai-readiness/<domain>/. Faster and narrower than map_website. If status is "queued" or "running", call again with start=false.
{
"type": "object",
"required": [
"website"
],
"properties": {
"start": {
"type": "boolean",
"description": "Start a new check if none is fresh (default true). Use false to only read the result."
},
"website": {
"type": "string",
"description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\"."
}
},
"additionalProperties": false
}{
"title": "Check AI-agent readiness",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}order_readiness_report — Order a $1 AI readiness report
Order the 9-page AI readiness report for a company, made and emailed by Requstory's AI agents about 2 minutes after payment: company map, every process step by step (agent alone, agent prepares, person), the three best places to start with tested models, ease score against similar companies and a 30-day plan. Price 1.00 USD. Returns checkoutUrl: give it to the person to pay on Stripe; never pay for them. Refunded automatically if the website can't be read. Sample: https://requstory.com/store/sample/
{
"type": "object",
"required": [
"website",
"companyName",
"buyerName",
"email"
],
"properties": {
"email": {
"type": "string",
"description": "Where the report is emailed. Use the person's own address with their consent."
},
"volume": {
"type": "integer",
"minimum": 1,
"description": "Optional: about how many orders, invoices or customer messages a month, so costs and savings are theirs."
},
"website": {
"type": "string",
"description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\"."
},
"buyerName": {
"type": "string",
"description": "Name of the person ordering."
},
"companyName": {
"type": "string",
"description": "Company name, printed on every page."
}
},
"additionalProperties": false
}{
"title": "Order a $1 AI readiness report",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_report_order — Get a report order
Status and live timeline of an AI readiness report order: every step, and whether an agent, code or a person did it. Status: awaiting_payment, in_progress, delivered, exception, refunded or cancelled.
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "token returned by order_readiness_report."
}
},
"additionalProperties": false
}{
"title": "Get a report order",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}map_website — Map a website
Map how a company works from up to 6 pages of its public website: customer journey, teams, processes and handoffs. The map is saved to your Requstory account (free; 5 a day). Waits up to 25 seconds; if the job is still running, poll get_map_job. Then read it with get_map. Needs an API key.
{
"type": "object",
"required": [
"website"
],
"properties": {
"website": {
"type": "string",
"description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\"."
}
},
"additionalProperties": false
}{
"title": "Map a website",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_map_job — Get map job status
Check a map_website job that was still running. When status is "complete" it returns mapId for get_map. Needs an API key.
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "jobId returned by map_website."
}
},
"additionalProperties": false
}{
"title": "Get map job status",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}list_maps — List my maps
List the maps saved in your Requstory account (newest first) with their ids. Use to find a mapId for get_map or ask_map. Needs an API key.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"title": "List my maps",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_map — Get a map
Read a saved map in brief: journey stages, teams with owners and processes, teams with no owner, checks peers pass but this company misses, AI-agent readiness gaps, fix progress and source pages. Set full=true for the whole JSON model. Use ask_map for a specific question instead. Needs an API key.
{
"type": "object",
"required": [
"mapId"
],
"properties": {
"full": {
"type": "boolean",
"description": "Include the full JSON model (large). Default false."
},
"mapId": {
"type": "string",
"description": "Saved map id (uuid) from list_maps or map_website."
}
},
"additionalProperties": false
}{
"title": "Get a map",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}ask_map — Ask about a map
Ask a question about a saved map. By default it answers free from the map's website pages and entries, with citations. Set ai=true for a written Requ AI answer, which uses account credits (Team). Prefer get_map for an overview. Needs an API key.
{
"type": "object",
"required": [
"mapId",
"question"
],
"properties": {
"ai": {
"type": "boolean",
"description": "Use Requ AI (uses credits). Default false."
},
"mapId": {
"type": "string",
"description": "Saved map id (uuid) from list_maps or map_website."
},
"question": {
"type": "string",
"description": "The question, up to 1,000 characters."
}
},
"additionalProperties": false
}{
"title": "Ask about a map",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_ai_company — Get an AI-run company template
Get a made-up company run end to end by AI agents, built from real public company maps, as a Requ template: teams as agent lanes, the model for each step, steps a person keeps, and monthly model cost. Use it as a starting point to design an AI-agent-run business; edit the Requ and render it with npx @requstory/cli. Needs an API key.
{
"type": "object",
"required": [
"company"
],
"properties": {
"mix": {
"enum": [
"mixed",
"large",
"small"
],
"type": "string",
"description": "Model mix: mixed (default), large or small."
},
"name": {
"type": "string",
"description": "Optional company name for the template."
},
"company": {
"enum": [
"online-store",
"software-startup",
"agency",
"professional-firm",
"local-service-business"
],
"type": "string",
"description": "Kind of company."
}
},
"additionalProperties": false
}{
"title": "Get an AI-run company template",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}start_o2c_demo — Start an order-to-cash demo
Start a month of a made-up B2B online store (Harbour & Home) run by four AI agents: process orders, ship orders, invoice and collect payments, handle returns. Real trade order lines; you or your user play the founder, who is asked about credit limits, short stock, packing, reminders, unclear payments and returns. Sums, dates, stock and credit are worked out by code, not the model. No key needed; runs are deleted 2 days after the last change. Then call advance_o2c_run.
{
"type": "object",
"required": [],
"properties": {
"model": {
"enum": [
"gemma-4-26b",
"qwen-3.6-35b",
"ministral-8b",
"qwen3-vl-8b"
],
"type": "string",
"description": "Open model the agents use. Default: the best scorer in the weekly test."
}
},
"additionalProperties": false
}{
"title": "Start an order-to-cash demo",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}advance_o2c_run — Advance an order-to-cash run
Let the agents work on a run from start_o2c_demo or start_o2c_run until they need the founder, the run ends, or up to "steps" actions (about 25 seconds at most). Returns what each agent did, every order's status and the totals. When exceptions are waiting, call list_o2c_exceptions.
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"description": "runId from start_o2c_demo or start_o2c_run."
},
"steps": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Most actions to take; default 10."
}
},
"additionalProperties": false
}{
"title": "Advance an order-to-cash run",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}list_o2c_exceptions — List order-to-cash exceptions
List the questions the agents are waiting on the founder for (credit over the limit, short stock, packing, reminder wording, unclear bank payments, returns), each with its allowed choices. Show them to the person; do not answer them yourself. Then call resolve_o2c_exception.
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"description": "runId from start_o2c_demo or start_o2c_run."
}
},
"additionalProperties": false
}{
"title": "List order-to-cash exceptions",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}resolve_o2c_exception — Resolve an order-to-cash exception
Record the founder's decision on one exception from list_o2c_exceptions, using only the choice the person made (for example accept an order over its credit limit, or approve a refund). The decision is logged as made through MCP. Then call advance_o2c_run.
{
"type": "object",
"required": [
"runId",
"exceptionId",
"choice"
],
"properties": {
"text": {
"type": "string",
"description": "Optional edited wording, for a reminder email."
},
"runId": {
"type": "string",
"description": "runId from start_o2c_demo or start_o2c_run."
},
"choice": {
"type": "string",
"description": "One of the exception's choices, e.g. \"accept\"."
},
"exceptionId": {
"type": "string",
"description": "exceptionId from list_o2c_exceptions."
}
},
"additionalProperties": false
}{
"title": "Resolve an order-to-cash exception",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}start_o2c_run — Start an order-to-cash run on your business
Run a day of your own business through the four order-to-cash agents: read new orders, check stock and credit, pick lists, invoices and their emails, match bank lines to open invoices, chase late payers and handle return emails. Nothing is sent; you get drafts and decisions. The agents ask the founder about credit, short stock, packing, reminders, unclear payments and returns, unless the business's approval rules say otherwise. Priced per order from the account's credits: $1.00 an order (100 credits), model cost included, charged once when an order is invoiced, collected or has a return settled. Data is deleted 2 days after the last change. Needs an API key. Then call advance_o2c_run.
{
"type": "object",
"required": [
"business"
],
"properties": {
"mapId": {
"type": "string",
"description": "Map whose credits pay for the model calls. Default: your most recent map."
},
"model": {
"enum": [
"gemma-4-26b",
"qwen-3.6-35b",
"ministral-8b",
"qwen3-vl-8b"
],
"type": "string",
"description": "Open model the agents use. Default: the best scorer in the weekly test."
},
"business": {
"type": "object",
"description": "The business, like the run page's folder. Keys: company, symbol (\"£\"), vat (\"20%\"), termsDays, nextInvoiceNo; customers [{id, name, email, creditLimit, openBalance, termsDays}]; products [{sku, name, price, stock}]; orders [{name, text} or {name, imageBase64} for a JPEG/PNG scan]; openInvoices [{no, customer, total, paid, due, date}]; bank [{from, ref, amount}]; returns [{message}]; returnsPolicy (text); instructions {orders, finance, returns} (text for each agent); approvals {ordersOver, overCreditLimitUpTo, refundsUpTo, returnsWithinDays, shortPaymentWriteOffUpTo}: orders above ordersOver always go to the founder; up to overCreditLimitUpTo over a credit limit, and refunds or credit notes up to refundsUpTo that the calculator agrees with, go through without asking; returns for invoices older than returnsWithinDays (or with no invoice date) always go to the founder; a matched payment that leaves shortPaymentWriteOffUpTo or less owed closes the invoice. Leave approvals out (or 0) to be asked about everything. The resource requstory://o2c/guide explains them."
}
},
"additionalProperties": false
}{
"title": "Start an order-to-cash run on your business",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_o2c_order — Get one order of an order-to-cash run
Everything about one order in a run: what the agent read, the invoice, its emails, any return, and every step and decision on it in order. Use for questions about a single order; advance_o2c_run lists the order ids.
{
"type": "object",
"required": [
"runId",
"order"
],
"properties": {
"order": {
"type": "string",
"description": "Order id, e.g. \"#2001\"."
},
"runId": {
"type": "string",
"description": "runId from start_o2c_demo or start_o2c_run."
}
},
"additionalProperties": false
}{
"title": "Get one order of an order-to-cash run",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}export_o2c_run — Export an order-to-cash run
The run's results: the ledger (every order and invoice with paid, owed and due), the emails to send, pick lists, every decision with who made it (founder, MCP, autopilot or an approval rule) and the billable moments. This is the audit record; use it when the run is done.
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"description": "runId from start_o2c_demo or start_o2c_run."
}
},
"additionalProperties": false
}{
"title": "Export an order-to-cash run",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}get_account — Get my account
Show the account behind the API key: plan (free or team), credits left, number of saved maps and maps left today, and order-to-cash use this month (orders billed, credits used, the price per order). Needs an API key.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}{
"title": "Get my account",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
1 advertised
o2c-guide — Order-to-cash agents: how they work
What the four agents do, where they stop for a person, the approval rules a business can set, the price and how long data is kept.
requstory://o2c/guideo2c-run-log — Order-to-cash run log
Every step of a run in order: what each agent and tool did, every question and every decision, with who made it.
requstory://o2c/runs/{runId}/logo2c-run-results — Order-to-cash run results
The same as export_o2c_run: ledger, draft emails, pick lists, decisions and billable moments.
requstory://o2c/runs/{runId}/results30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1479 ms
- 95th percentile latency
- 1479 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1479 ms · metadata changed · 19 tool(s), 1 resource(s), 2 resource template(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http requstory-mcp https://requstory.com/mcpCodex
codex mcp add requstory-mcp --url https://requstory.com/mcpCursor
{
"mcpServers": {
"requstory-mcp": {
"url": "https://requstory.com/mcp"
}
}
}Cline
{
"mcpServers": {
"requstory-mcp": {
"type": "streamableHttp",
"url": "https://requstory.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"requstory-mcp": {
"type": "http",
"url": "https://requstory.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http requstory-mcp https://requstory.com/mcpClaude Desktop
{
"mcpServers": {
"requstory-mcp": {
"url": "https://requstory.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"requstory-mcp": {
"serverUrl": "https://requstory.com/mcp"
}
}
}Let your agent find its tools
Find servers like Requstory MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Requstory MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.