Diogenes Dev & Data Utilities MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
JSON healing, O(n) ReDoS defense, XML prompt compilation, and schema verification tools.
| Author | io.github.stand-out-of-my-sun |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 143 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Diogenes Dev & Data Utilities MCP": {
"url": "https://diogenes-micro-gateway.corinth.workers.dev/mcp/dev-utilities",
"transport": "streamable-http"
}
}
}
Measured tools (14)
heal_malformed_jsonread-onlyDeterministic JSON syntax repair: normalizes quotes, unclosed brackets, and boolean literals into compliant RFC 8259 JSON structure without data deletion. Use when fixing syntax-broken JSON strings that fail JSON.parse(); for coercing field types and verifying properties on already-parseable JSON objects against a target JSON Schema, use enforce_json_schema_types instead. Read-only edge call (32 KB, 60 RPM): accepts 'malformed_json' (with enum defaults), uses '?demo=true' or L402 (50 sats); HTTP 400 if invalid.
Parameters:
malformed_json(required) — string — Raw broken, truncated, or markdown-wrapped JSON string to repair.repair_mode— string — Bracket-closing and literal-normalization strategy; defaults to 'heuristic_fast' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
enforce_json_schema_typesread-onlyValidates a raw LLM output object against a target JSON Schema, automatically coercing mismatched scalar types (e.g. string '42' to integer 42), injecting schema defaults, and pruning undeclared hallucinated fields. Use when enforcing schema compliance and type safety on structured LLM outputs before passing them to typed APIs; for healing unparseable raw JSON text with broken quotes or trailing commas, use heal_malformed_json instead. Read-only edge call (32 KB, 60 RPM): accepts 'raw_output' (with enum defaults), uses '?demo=true' or L402 (75 sats); HTTP 400 if invalid.
Parameters:
raw_output(required) — string — JSON string or object produced by an LLM to validate and coerce.coercion_policy— string — Policy for handling extra undeclared properties; defaults to 'prune_undeclared_and_coerce' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
extract_structured_json_entitiesread-onlyExtracts structured JSON records, named entities, dates, and financial figures from unstructured prose, emails, or HTML/Markdown dumps. Use when converting unstructured natural-language text into a structured JSON array of entities; for validating and coercing an existing JSON payload against a formal JSON Schema, use enforce_json_schema_types instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'text' ('extraction_target' defaults to 'general_entities_and_metrics'), supports '?demo=true' or L402 (150 sats), and returns HTTP 400 if invalid.
Parameters:
text(required) — string — Unstructured document, email body, or webpage text to extract structured entities from.extraction_target— string — Primary entity domain to extract; defaults to 'general_entities_and_metrics' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
clean_tabular_datasetread-onlyDeduplicates repetitive lines or records, normalizes Unicode whitespace, strips HTML/control noise, and canonicalizes tabular text or JSON arrays. Use when cleaning noisy scraped lists, CSV rows, or duplicate log lines before indexing or analysis; for extracting typed JSON fields from free-form prose paragraphs, use extract_structured_json_entities instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'data' ('normalization_mode' defaults to 'exact_match'), supports '?demo=true' or L402 (100 sats), and returns HTTP 400 if invalid.
Parameters:
data(required) — string — Raw newline-delimited text, CSV rows, or JSON array string to deduplicate and normalize.normalization_mode— string — Deduplication key sensitivity; defaults to 'case_insensitive_trim' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
synthesize_safe_regexread-onlySynthesizes linear-time O(n) regular expressions free of catastrophic backtracking (ReDoS) and validates them against positive and negative test strings. Use when generating and verifying a regular expression pattern for input validation or lexical parsing; for repairing broken JSON syntax directly without writing custom regexes, use heal_malformed_json instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'description' ('flavor' defaults to 'ecmascript_js'), supports '?demo=true' or L402 (50 sats), and returns HTTP 400 if invalid.
Parameters:
description(required) — string — Natural-language specification of the text pattern to match (e.g. 'RFC 5322 email addresses excluding plus-aliases').flavor— string — Target regular expression engine syntax; defaults to 'ecmascript_js' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
compile_xml_agent_promptread-onlyCompiles a raw task description into a structured XML system prompt (<role>, <context>, <objective>, <constraints>, <workflow>, <output_format>) engineered to prevent instruction drift. Use when authoring or upgrading a system prompt for an autonomous agent or sub-agent workflow; for mapping a task objective to a concrete sequence of MCP tool calls, use route_mcp_workflow_plan instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'task' ('prompt_style' defaults to 'anthropic_xml_tags'), supports '?demo=true' or L402 (100 sats), and returns HTTP 400 if invalid.
Parameters:
task(required) — string — Raw task instructions, persona goal, and operational constraints to compile.prompt_style— string — Structural formatting template; defaults to 'anthropic_xml_tags' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
synthesize_python_automation_coderead-onlySynthesizes PEP 8 compliant, self-contained Python 3 scripts, data parsers, and CLI utilities complete with type hints, docstrings, and inline assertion tests. Use when generating a standalone Python automation script or parser from a functional specification; for summarizing existing documentation or codebases into executive bullet points, use summarize_technical_document instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'prompt' ('dependency_policy' defaults to 'stdlib_only'), supports '?demo=true' or L402 (300 sats), and returns HTTP 400 if invalid.
Parameters:
prompt(required) — string — Functional specification, input/output formats, and edge cases for the Python script.dependency_policy— string — Allowed library dependencies in generated code; defaults to 'stdlib_only' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
summarize_technical_documentread-onlyCondenses long technical specifications, RFCs, research papers, or meeting transcripts into high-density executive bullet points preserving exact figures and decisions. Use when producing a human-readable executive summary of a single provided document; for researching a topic across the live web with Google Search citations, use synthesize_web_intelligence_brief instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'text' ('summary_format' defaults to 'executive_bullets'), supports '?demo=true' or L402 (100 sats), and returns HTTP 400 if invalid.
Parameters:
text(required) — string — Full document text, RFC, or transcript to summarize.summary_format— string — Output presentation structure; defaults to 'executive_bullets' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
synthesize_web_intelligence_briefread-onlySynthesizes a real-time market or technical intelligence brief grounded in live Google Search, returning strict JSON ('executive_summary', 'key_developments', 'sentiment', 'sources'). Use when fetching a structured JSON market/news brief with live web citations and sentiment classification; for summarizing caller-supplied text offline without live web search, use summarize_technical_document instead. Read-only edge call (32 KB, 60 RPM): accepts 'topic' ('focus' defaults to 'technical_and_market_catalysts'), supports '?demo=true' or L402 (200 sats), and returns HTTP 400 if invalid.
Parameters:
topic(required) — string — Company, protocol, market sector, or technical topic to brief.focus— string — Analytical angle applied to the brief; defaults to 'technical_and_market_catalysts' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
verify_context_compaction_fidelityread-onlyAudits a compacted conversation summary against the original full context to detect dropped user constraints, lost file paths, altered numbers, or missing pending tasks. Use when verifying that an LLM context-compaction summary retained all task-critical facts before truncating history; for generating a new executive summary from a raw technical document, use summarize_technical_document instead. Read-only edge call (32 KB, 60 RPM): accepts 'original_context' ('compacted_summary' defaults to 'standard'), supports '?demo=true' or L402 (90 sats), and returns HTTP 400 if invalid.
Parameters:
original_context(required) — string — Full pre-compaction conversation history or task log.compacted_summary(required) — string — Candidate compacted summary to audit for dropped constraints or entities.audit_focus— string — Entity class prioritized during retention scoring; defaults to 'constraints_paths_and_numbers' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
route_mcp_workflow_planread-onlyMaps a natural-language agent goal to an ordered sequence of Diogenes MCP tool calls with exact endpoint paths, JSON-RPC 2.0 payloads, and cumulative satoshi cost estimates. Use when planning which MCP tools to chain together to solve a multi-step objective within a satoshi budget; for compiling a static XML system prompt rather than an executable MCP tool call sequence, use compile_xml_agent_prompt instead. Read-only edge call (32 KB, 60 RPM): accepts 'objective' ('budget_preference' defaults to 'lowest_sats_deterministic'), uses '?demo=true' or L402 (100 sats); HTTP 400 if invalid.
Parameters:
objective(required) — string — Natural-language description of the workflow goal to route across MCP tools.budget_preference— string — Cost vs depth routing trade-off; defaults to 'lowest_sats_deterministic' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
arbitrate_agent_deliverable_escrowread-onlyEvaluates a worker agent's submitted task deliverable against agreed contract acceptance criteria to issue a deterministic escrow settlement verdict ('RELEASE_FUNDS_TO_WORKER_AGENT', 'REQUEST_REVISION', or 'REFUND_CLIENT'). Use when settling multi-agent bounties or verifying subcontractor deliverables before releasing MPP/L402 escrow funds; for checking syntactic JSON Schema property types without evaluating semantic contract terms, use enforce_json_schema_types instead. Read-only call (32 KB, 60 RPM): accepts 'deliverable' (with enum defaults), uses '?demo=true' or MPP (150 sats); HTTP 400 if invalid.
Parameters:
deliverable(required) — string — JSON string or text deliverable submitted by the worker agent.terms— string — Contract acceptance criteria that the deliverable must satisfy; defaults to 'Complete verified JSON deliverable' when omitted.arbitration_standard— string — Strictness of contract verification; defaults to 'strict_all_criteria' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
infer_mpp_streaming_sessionread-onlyInitializes a Base Native ETH Machine Payments Protocol (MPP) metered inference session, allocating a streaming token quota and returning a step-by-step execution plan. Use when running session-metered agent planning settled via Base EVM MPP 'Payment-Challenge' headers; for mapping a task goal to L402 MCP tool calls without opening an MPP streaming session, use route_mcp_workflow_plan instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'task' ('token_quota_tier' defaults to 'compact_1024'), supports '?demo=true' or MPP (500 sats), and returns HTTP 400 if invalid.
Parameters:
task(required) — string — Agent workflow task to execute within the metered MPP session.token_quota_tier— string — Allocated streaming token ceiling for the session; defaults to 'standard_4096' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
generate_x402_vector_embeddingsread-onlyGenerates normalized high-dimensional semantic vector embeddings settled via Solana SPL USDC ('x402' protocol headers) for decentralized RAG pipelines. Use when computing text embeddings paid via Solana Native SOL x402 signatures rather than Bitcoin Lightning; for extracting discrete JSON entities from unstructured text, use extract_structured_json_entities instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'text' ('encoding_format' defaults to 'float_array'), supports '?demo=true' or x402 (100 sats), and returns HTTP 400 if invalid.
Parameters:
text(required) — string — Input text string or document chunk to convert into a normalized embedding vector.encoding_format— string — Vector serialization format; defaults to 'float_array' when omitted.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.