Diogenes Dev & Data Utilities MCP
by stand-out-of-my-sun · remote · no sign-in to list tools · v1.0.0 · published by GitHub user stand-out-of-my-sun
JSON healing, O(n) ReDoS defense, XML prompt compilation, and schema verification tools.
14 tools: 13 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things13Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http diogenes-dev-utilities https://diogenes-micro-gateway.corinth.workers.dev/mcp/dev-utilitiesFindings
Matches of fixed checks, with the text they matched.
The server marks "enforce_json_schema_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "enforce_json_schema_types" says "type": a word for a change.
The server marks "arbitrate_agent_deliverable_escrow" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "evaluate": a word for a change.
The server marks "generate_x402_vector_embeddings" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_x402_vector_embeddings" says "generate": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
14 tools
Changes things 13Claude Code: ask
arbitrate_agent_deliverable_escrowEvaluates a worker agent's submitted task deliverable against agreed contract acceptance criteria to issue a deterministic escrow settlement verdict ('RELEASE_FUNDS_TO_WORKER_AGENT…1 finding
Why it is in this group
- The description's first verb is "evaluate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "arbitrate_agent_deliverable_escrow" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "evaluate": a word for a change.
Description, as the server wrote it Evaluates 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.
Annotations the server declares
- title: Multi-Agent Task Deliverable & Contract Fulfillment Escrow Arbiter
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
clean_tabular_datasetDeduplicates repetitive lines or records, normalizes Unicode whitespace, strips HTML/control noise, and canonicalizes tabular text or JSON arrays.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Deduplicates 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.
Annotations the server declares
- title: Tabular Dataset & Text Deduplication, Whitespace & Normalization Engine
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
compile_xml_agent_promptCompiles a raw task description into a structured XML system prompt (<role>, <context>, <objective>, <constraints>, <workflow>, <output_format>) engineered to prevent instruction d…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compiles 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.
Annotations the server declares
- title: Production XML-Structured System Prompt & Guardrail Compiler
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
enforce_json_schema_typesValidates a raw LLM output object against a target JSON Schema, automatically coercing mismatched scalar types (e.g.1 finding
Why it is in this group
- The name "enforce_json_schema_types" says "type": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "enforce_json_schema_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "enforce_json_schema_types" says "type": a word for a change.
Description, as the server wrote it Validates 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.
Annotations the server declares
- title: Strict JSON Schema Validator, Type Coercer & Field Pruner
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
extract_structured_json_entitiesExtracts structured JSON records, named entities, dates, and financial figures from unstructured prose, emails, or HTML/Markdown dumps.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Extracts 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.
Annotations the server declares
- title: Unstructured Text to Typed JSON Entity & Record Extractor
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
generate_x402_vector_embeddingsGenerates normalized high-dimensional semantic vector embeddings settled via Solana SPL USDC ('x402' protocol headers) for decentralized RAG pipelines.1 finding
Why it is in this group
- The name "generate_x402_vector_embeddings" says "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "generate_x402_vector_embeddings" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_x402_vector_embeddings" says "generate": a word for a change.
Description, as the server wrote it Generates 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 USDC 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.
Annotations the server declares
- title: Solana x402 USDC-Settled Semantic Vector Embedding Generator
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
heal_malformed_jsonDeterministic JSON syntax repair: normalizes quotes, unclosed brackets, and boolean literals into compliant RFC 8259 JSON structure without data deletion.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Deterministic 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.
Annotations the server declares
- title: Deterministic Malformed JSON Syntax & Truncation Healer
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
infer_mpp_streaming_sessionInitializes a Base USDC Machine Payments Protocol (MPP) metered inference session, allocating a streaming token quota and returning a step-by-step execution plan.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Initializes a Base USDC 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.
Annotations the server declares
- title: Base EVM Machine Payments Protocol (MPP) Streaming Session Planner
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
route_mcp_workflow_planMaps 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.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Maps 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.
Annotations the server declares
- title: Autonomous Goal-to-MCP Tool Sequence Router & Cost Planner
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
synthesize_python_automation_codeSynthesizes PEP 8 compliant, self-contained Python 3 scripts, data parsers, and CLI utilities complete with type hints, docstrings, and inline assertion tests.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Synthesizes 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.
Annotations the server declares
- title: Self-Contained Python Script, CLI & Parser Code Synthesizer
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
synthesize_safe_regexSynthesizes linear-time O(n) regular expressions free of catastrophic backtracking (ReDoS) and validates them against positive and negative test strings.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Synthesizes 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.
Annotations the server declares
- title: Linear-Time O(n) ReDoS-Safe Regular Expression Synthesizer & Tester
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
synthesize_web_intelligence_briefSynthesizes a real-time market or technical intelligence brief grounded in live Google Search, returning strict JSON ('executive_summary', 'key_developments', 'sentiment', 'sources…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Synthesizes 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.
Annotations the server declares
- title: Real-Time Google Search Grounded JSON Market Intelligence Brief
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
verify_context_compaction_fidelityAudits a compacted conversation summary against the original full context to detect dropped user constraints, lost file paths, altered numbers, or missing pending tasks.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Audits 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.
Annotations the server declares
- title: Pre/Post Context Compaction Information Retention Verifier
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 1Claude Code: allow
summarize_technical_documentCondenses long technical specifications, RFCs, research papers, or meeting transcripts into high-density executive bullet points preserving exact figures and decisions.No findings
Why it is in this group
- The name "summarize_technical_document" says "summarize": a word for reading.
Description, as the server wrote it Condenses 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.
Annotations the server declares
- title: High-Density Technical Document & RFC Executive Summarizer
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http diogenes-dev-utilities https://diogenes-micro-gateway.corinth.workers.dev/mcp/dev-utilitiesRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__diogenes-dev-utilities__summarize_technical_document"
],
"ask": [
"mcp__diogenes-dev-utilities__heal_malformed_json",
"mcp__diogenes-dev-utilities__enforce_json_schema_types",
"mcp__diogenes-dev-utilities__extract_structured_json_entities",
"mcp__diogenes-dev-utilities__clean_tabular_dataset",
"mcp__diogenes-dev-utilities__synthesize_safe_regex",
"mcp__diogenes-dev-utilities__compile_xml_agent_prompt",
"mcp__diogenes-dev-utilities__synthesize_python_automation_code",
"mcp__diogenes-dev-utilities__synthesize_web_intelligence_brief",
"mcp__diogenes-dev-utilities__verify_context_compaction_fidelity",
"mcp__diogenes-dev-utilities__route_mcp_workflow_plan",
"mcp__diogenes-dev-utilities__arbitrate_agent_deliverable_escrow",
"mcp__diogenes-dev-utilities__infer_mpp_streaming_session",
"mcp__diogenes-dev-utilities__generate_x402_vector_embeddings"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as diogenes-dev-utilities. Review it before you use it.
