Skip to content

DocParse

by mrsergeiluzhnov · remote · no sign-in to list tools · v1.1.0 · published by GitHub user mrsergeiluzhnov

Docs to Markdown, SEC filings, insider trades, Treasury yields, FRED macro, FX rates, dev utils.

Changes · 11

12 tools: 11 change things and 1 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http docparse https://72-56-90-243.sslip.io/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "convert_document" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_document" says "convert": a word for a change.

    What this check looks for
  • Warnuuid

    The server marks "uuid" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Changes things 11Claude Code: ask
  • base64Base64 / base64url encode a UTF-8 string or decode base64 back to text (binary results returned as hex).Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Base64 / base64url encode a UTF-8 string or decode base64 back to text (binary results returned as hex). Price: $0.001 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • convert_documentConvert any document to clean Markdown for an LLM: PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), web pages (main content only), TXT, CSV, MD, JSON.Reads text others writeCan send data out1 finding

    Why it is in this group

    • The name "convert_document" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.

    Findings

    • Warn

      The server marks "convert_document" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "convert_document" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert any document to clean Markdown for an LLM: PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), web pages (main content only), TXT, CSV, MD, JSON. Send {url} or {base64, filename}. Returns markdown plus format, title, pages/sheets/slides and warnings. Tables kept as Markdown tables. Price: $0.01 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • fx_ratesOfficial daily reference exchange rates from the European Central Bank (~30 major currencies) and the Bank of Russia (~50 currencies incl.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Official daily reference exchange rates from the European Central Bank (~30 major currencies) and the Bank of Russia (~50 currencies incl. RUB, KZT, UZS, AMD, GEL, TRY, CNY). Any base, cross rates computed. Price: $0.002 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • hashHash or HMAC a string: md5, sha1, sha256, sha384, sha512, sha3-256, sha3-512; hex or base64 output; input as utf8, base64 or hex.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Hash or HMAC a string: md5, sha1, sha256, sha384, sha512, sha3-256, sha3-512; hex or base64 output; input as utf8, base64 or hex. Price: $0.001 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • jwt_decodeDecode a JWT: header, payload, issued/expiry times as ISO dates and whether it is expired.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Decode a JWT: header, payload, issued/expiry times as ISO dates and whether it is expired. Does not verify the signature. Price: $0.001 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • macro_seriesUS macroeconomic time series from FRED: latest value, change vs previous and year-over-year, recent observations.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    US macroeconomic time series from FRED: latest value, change vs previous and year-over-year, recent observations. Any FRED id or alias: cpi, core_cpi, pce, core_pce, unemployment, payrolls, fed_funds, gdp, real_gdp, 10y, 2y, 3m, mortgage30, m2, oil_wti, vix, sp500, eurusd, usdjpy, retail_sales, industrial_production, housing_starts, consumer_sentiment, initial_claims. Price: $0.005 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • sec_companyCompany profile and key fundamentals for a US-listed company from SEC EDGAR XBRL data: revenue, operating and net income, diluted EPS, operating cash flow, assets, liabilities, equ…Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Company profile and key fundamentals for a US-listed company from SEC EDGAR XBRL data: revenue, operating and net income, diluted EPS, operating cash flow, assets, liabilities, equity, cash, shares outstanding (latest quarter + last 3 fiscal years), margins and the 10 latest filings with links. Price: $0.01 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • sec_filingsLatest SEC filings of a US company (10-K, 10-Q, 8-K, S-1, 13D/G, DEF 14A, Form 4...) with filing date, period and direct document links.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Latest SEC filings of a US company (10-K, 10-Q, 8-K, S-1, 13D/G, DEF 14A, Form 4...) with filing date, period and direct document links. Filter by form types and date. Price: $0.005 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • sec_insider_tradesRecent insider transactions of a US company parsed from SEC Form 4 filings: who (name, role: CEO, director, 10% owner), what (buy, sale, grant, option exercise), date, shares, pric…Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Recent insider transactions of a US company parsed from SEC Form 4 filings: who (name, role: CEO, director, 10% owner), what (buy, sale, grant, option exercise), date, shares, price, value and holdings after, plus totals of open-market purchases and sales. Price: $0.02 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • treasury_yieldsOfficial daily US Treasury par yield curve (1M to 30Y, percent) for the latest or a given date, 10Y-2Y and 10Y-3M spreads, optional daily history for one tenor.Reads text others writeNo 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.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Official daily US Treasury par yield curve (1M to 30Y, percent) for the latest or a given date, 10Y-2Y and 10Y-3M spreads, optional daily history for one tenor. Price: $0.005 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • uuidGenerate 1-100 cryptographically random UUIDs, v4 or time-ordered v7.Reads text others write1 finding

    Why it is in this group

    • The description's first verb is "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "uuid" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The description's first verb is "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate 1-100 cryptographically random UUIDs, v4 or time-ordered v7. Price: $0.001 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Only reads 1Claude Code: allow
  • json_toolValidate JSON and report the exact error line/column, or pretty-print / minify it.Reads text others writeNo findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Validate JSON and report the exact error line/column, or pretty-print / minify it. Price: $0.001 per successful call via x402 (eip155:8453); 5 free calls/day across all tools.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

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.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write12
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http docparse https://72-56-90-243.sslip.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__docparse__json_tool"
    ],
    "ask": [
      "mcp__docparse__convert_document",
      "mcp__docparse__sec_company",
      "mcp__docparse__sec_filings",
      "mcp__docparse__sec_insider_trades",
      "mcp__docparse__treasury_yields",
      "mcp__docparse__macro_series",
      "mcp__docparse__fx_rates",
      "mcp__docparse__hash",
      "mcp__docparse__base64",
      "mcp__docparse__jwt_decode",
      "mcp__docparse__uuid"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as docparse. Review it before you use it.

Capability tags behind 12 rules
  • mcp__docparse__convert_document untrusted-input, outbound
  • mcp__docparse__sec_company untrusted-input
  • mcp__docparse__sec_filings untrusted-input
  • mcp__docparse__sec_insider_trades untrusted-input
  • mcp__docparse__treasury_yields untrusted-input
  • mcp__docparse__macro_series untrusted-input
  • mcp__docparse__fx_rates untrusted-input
  • mcp__docparse__hash untrusted-input
  • mcp__docparse__base64 untrusted-input
  • mcp__docparse__jwt_decode untrusted-input
  • mcp__docparse__uuid untrusted-input
  • mcp__docparse__json_tool untrusted-input