Ouro Tools
Tools for charts, PDFs, tables, webpages, temporary sharing, webhooks, forms, and feeds.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"ouro-tools": {
"url": "https://ouro.tools/mcp"
}
}
}Remote endpoints
https://ouro.tools/mcpstreamable-httpWhat it can do
Tool inventory
Tools (19)
🟡droplink_publish_document(title, format, content)
Publish a Markdown report or CSV table as a readable, publicly shareable page for 24 hours. Returns a private deletion token only once. Scripts, images, and embeds are removed. Limits: 80,000 bytes, 500 CSV rows, 30 columns.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120
},
"format": {
"type": "string",
"enum": [
"markdown",
"csv"
]
},
"content": {
"type": "string",
"maxLength": 80000
}
},
"required": [
"format",
"content"
],
"additionalProperties": false
}🟢droplink_read_document(id)
Read a published DropLink document and its expiry. Expired links return 404.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false
}🔴droplink_delete_document(id, token)
Delete a published DropLink immediately using its private deletion token.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
],
"additionalProperties": false
}🟡hookbox_create_inbox(title)
Create a 24-hour webhook inbox with independent incoming and private reading capabilities. Accepts 100 events up to 16 KB each.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 80
}
}
}🟢hookbox_read_inbox(id, token)
Read a webhook inbox using its private read token.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
]
}🔴hookbox_delete_inbox(id, token)
Delete a webhook inbox and all its stored events.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
]
}🟡chartlink_create_chart(title, subtitle, caption, type, theme, ...)
Create a bar, line, or stacked bar chart from numbers. Returns SVG and PNG files plus a hosted result for 24 hours.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120
},
"subtitle": {
"type": "string",
"maxLength": 160
},
"caption": {
"type": "string",
"maxLength": 400
},
"type": {
"type": "string",
"enum": [
"bar",
"line",
"stacked-bar"
]
},
"theme": {
"type": "string",
"enum": [
"paper",
"midnight",
"sage"
]
},
"width": {
"type": "integer",
"minimum": 480,
"maximum": 1600
},
"height": {
"type": "integer",
"minimum": 360,
"maximum": 1000
},
"labels": {
"type": "array",
"minItems": 1,
"maxItems": 60,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"datasets": {
"type": "array",
"minItems": 1,
"maxItems": 6,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 60
},
"values": {
"type": "array",
"minItems": 1,
"maxItems": 60,
"items": {
"type": "number",
"minimum": -1000000000000,
"maximum": 1000000000000
}
}
},
"required": [
"values"
]
}
}
},
"required": [
"labels",
"datasets"
]
}🟢chartlink_get_chart(id)
Retrieve a chart and download URLs before its 24-hour expiry.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}🟢cleanread_read_page(url)
Extract readable text, Markdown, headings, HTTP links, and tables from one accessible public webpage. Does not execute JavaScript or bypass access restrictions.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Public HTTP or HTTPS URL to read."
}
},
"required": [
"url"
],
"additionalProperties": false
}🟢sourcecheck_check_sources(sources)
Check up to ten public source URLs for successful HTTP responses, final URLs, titles, and optional quotation matches in fetched text. Reports blocked and unreadable sources honestly. Does not verify factual truth.
Input Schema
{
"type": "object",
"properties": {
"sources": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"quote": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"url"
]
}
}
},
"required": [
"sources"
]
}🟡printkit_create_pdf(title, subtitle, author, template, markdown, ...)
Create a PDF using a report, proposal, or briefing layout. Provide Markdown or structured sections. Maximum 10 pages. Files expire after 24 hours. Limited trial usage, then 10 cents per document from prepaid credit.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 180
},
"subtitle": {
"type": "string",
"maxLength": 300
},
"author": {
"type": "string",
"maxLength": 100
},
"template": {
"type": "string",
"enum": [
"report",
"proposal",
"briefing"
],
"default": "report"
},
"markdown": {
"type": "string",
"minLength": 1,
"maxLength": 40000
},
"sections": {
"type": "array",
"minItems": 1,
"maxItems": 24,
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string",
"maxLength": 180
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 40000
}
},
"required": [
"body"
]
}
}
},
"required": [
"title"
],
"additionalProperties": false,
"oneOf": [
{
"required": [
"markdown"
]
},
{
"required": [
"sections"
]
}
]
}🟢tablelift_extract_tables(pdfBase64, filename)
Extract bordered tables from a text-based PDF into CSV and JSON with source page numbers. Maximum 3 MB and 10 pages. Scans and borderless tables are unsupported. Costs 10 cents per document page after the trial allowance; no charge when no useful tables are found.
Input Schema
{
"type": "object",
"properties": {
"pdfBase64": {
"type": "string",
"maxLength": 4194332,
"description": "Base64-encoded PDF bytes, maximum 3 MB decoded."
},
"filename": {
"type": "string",
"maxLength": 120
}
},
"required": [
"pdfBase64"
]
}🟡collect_create_form(title, description, questions)
Create a form for 30 days and up to 100 responses. Costs $1 in credits after the trial. Returns a public form link and a private owner token.
Input Schema
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 1000
},
"questions": {
"type": "array",
"minItems": 1,
"maxItems": 12,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,39}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"type": {
"type": "string",
"enum": [
"text",
"multiple-choice",
"checkbox"
]
},
"required": {
"type": "boolean",
"default": false
},
"options": {
"type": "array",
"minItems": 2,
"maxItems": 12,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
}
},
"required": [
"label",
"type"
]
}
}
},
"required": [
"title",
"questions"
],
"additionalProperties": false
}🟢collect_read_form(id)
Read public form questions and availability. Does not expose answers or owner credentials.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
}🟡collect_submit_response(id, answers)
Submit answers keyed by question ID to an open form. Text is limited to 2,000 characters per answer and 32 KB total.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"answers": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "array",
"maxItems": 12,
"uniqueItems": true,
"items": {
"type": "string"
}
}
]
}
}
},
"required": [
"id",
"answers"
]
}🟢collect_read_responses(id, token)
Privately retrieve a form and its answers with its owner token.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
]
}⚪collect_close_form(id, token)
Stop accepting responses. Answers remain privately accessible until expiry.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
]
}🔴collect_delete_form(id, token)
Delete a form and its responses using the owner token.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"id",
"token"
]
}🟢feedform_normalize_feed(xml, limit)
Normalize one RSS 2.0 or Atom XML feed to stable JSON. Free; 1 MiB input, up to 100 returned items. Does not fetch URLs or retain feed content.
Input Schema
{
"type": "object",
"properties": {
"xml": {
"type": "string",
"minLength": 1,
"maxLength": 1048576
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
}
},
"required": [
"xml"
],
"additionalProperties": false
}Community
Evidence