DocParse
Server Details
Docs to Markdown, SEC filings, insider trades, Treasury yields, FRED macro, FX rates, dev utils.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Each tool targets a fairly distinct operation: base64/hash/jwt_decode/json_tool are separable, and the sec_* tools split cleanly by data type. Only mild overlap between base64 and hash as generic 'encoding' utilities, and json_tool vs jwt_decode could momentarily confuse a careless agent.
All names use snake_case, which is good, but the conventions mix: bare nouns (base64, hash, uuid, json_tool), a verb_noun (convert_document), and noun_noun pairs (fx_rates, sec_company, treasury_yields). Readable but not a single predictable pattern.
12 tools is a well-scoped count for a grab-bag utility/data server, and each tool covers a specific self-contained operation without obvious padding.
The financial cluster (fx_rates, macro_series, treasury_yields, sec_*) is reasonably complete, and the encoding utilities are self-contained, but the 'DocParse' branding matches only convert_document and there is no coherent domain tying the set together, leaving the surface feeling like an arbitrary mix.
Available Tools
12 toolsbase64Base64 encode/decodeARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | encode (default) or decode | |
| input | Yes | Text to encode or base64 to decode | |
| url_safe | No | Use base64url alphabet when encoding |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), but the description adds genuinely useful context beyond them: pricing ($0.001 per successful call via x402 on eip155:8453), a 5 free calls/day quota across all tools, and the fact that binary decode results are returned as hex.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core operation before the cost/quota note. Dense but every clause carries information an agent needs (mode semantics, hex return, billing).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the return-value burden and does so adequately by specifying hex for binary decode results. Remaining gap is minor: it doesn't mention output shape for the encode direction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds meaning the schema lacks: the encode input is treated as UTF-8 text, base64url applies to encoding, and binary decode output comes back as hex rather than raw bytes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resource: encode a UTF-8 string or decode base64, including the base64url variant. This clearly separates it from siblings like hash, uuid, and jwt_decode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the encode/decode framing, but no explicit guidance is given on when to choose this over siblings such as hash or jwt_decode, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_documentConvert document to MarkdownARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http(s) URL of the document or web page | |
| base64 | No | File content, base64 (alternative to url, max ~25 MB) | |
| filename | No | File name with extension, helps format detection | |
| max_chars | No | Truncate markdown to this many chars (default 100000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint. The description adds genuinely useful behavior beyond that: the returned fields (markdown, format, title, pages/sheets/slides, warnings), truncation behavior, table preservation, and the x402 pricing/free-tier model. This is substantial added context for a paid, open-world call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with purpose and formats, then input modes, outputs, and cost. No filler; every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return fields and warnings, and it covers formats, both input modes, truncation, and pricing. An agent has everything needed to call it correctly and anticipate the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description goes slightly further by framing the input modes as an either/or ('Send {url} or {base64, filename}'), clarifying the intended pairing of base64 with filename, which the flat schema does not express.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Convert any document to clean Markdown') with an explicit enumeration of supported formats and the LLM-oriented goal. It is unmistakably distinct from siblings like json_tool, hash, or base64.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys when to reach for this tool (document-to-Markdown for an LLM) and how to supply input ({url} or {base64, filename}). It stops short of naming an alternative tool or stating exclusions, but the sibling set has no overlapping converter, so the gap is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fx_ratesOfficial FX rates (ECB, Bank of Russia)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Base currency, default USD | |
| source | No | ecb, cbr or auto (default) | |
| symbols | No | Comma-separated target currencies, e.g. 'EUR,RUB,CNY'; default all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, so the safety profile is covered; the description adds genuinely new behavior beyond that: the two data sources with approximate currency counts, cross-rate computation, and the cost model ($0.002/call via x402, 5 free calls/day). This pricing detail is exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then sources and pricing; every clause carries information. Slightly dense in the provider/currency enumeration but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers sources, currency breadth, base flexibility, and cost, which is sufficient to call correctly. It does not state the return shape or rate-date behavior, a minor gap for a data-fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but 'Any base, cross rates computed' adds real semantic value about how the base parameter behaves and what can be derived, going beyond the schema's terse 'default USD'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (official daily reference exchange rates) with named providers (ECB, Bank of Russia) and explicit currency coverage, which cleanly separates it from siblings like treasury_yields and macro_series. An agent can identify this as the FX-rate tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is provided. The pricing and free-call note imply a paid context but do not tell the agent when this tool is preferable to a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hashHash / HMACARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Data to hash | |
| output | No | hex (default) or base64 | |
| hmac_key | No | If set, compute HMAC with this key | |
| algorithm | No | Default sha256 | |
| key_encoding | No | utf8 (default), base64 or hex | |
| input_encoding | No | utf8 (default), base64 or hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true), so the bar is lower. The description adds genuinely useful behavioral context not in the annotations: the per-call price, the x402/eip155:8453 payment rail, and the shared 5-call/day free quota, all of which affect whether an agent should invoke it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the core operation and algorithm list before the pricing clause; nothing is padded. The semicolon-chained fragments are efficient, though slightly compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-output-schema utility with light annotations, the description covers the operation, algorithm and encoding options, and the billing model. The one omission is that it never states what is returned (the digest string), but that is minor for a tool whose contract is self-evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including defaults (sha256, hex, utf8). The description largely restates the algorithm and encoding options without adding syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (hash or HMAC) and resource (a string), and enumerates the supported algorithms and encodings, which lets an agent distinguish it from encoding siblings like base64 or uuid. It stops short of explicitly naming any sibling it should not be confused with, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the operation and its parameter list, and the description usefully discloses the commercial terms ($0.001 per successful call, 5 free calls/day). However, it gives no when-to-use vs when-not guidance and never routes the agent to or away from a sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
json_toolValidate / format JSONARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | validate (default), pretty or minify | |
| input | Yes | JSON text | |
| indent | No | Indent for pretty (default 2) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds the pricing model ($0.001 per successful call via x402 on eip155:8453) and a 5 free-calls/day cap, which is genuinely decision-relevant behavior an agent cannot get from structured fields. It also discloses that validation returns exact error line/column. No contradiction with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability and error behavior, with the pricing constraint placed last. Every element carries information relevant to invoking the tool, though the pricing clause is slightly dense with chain identifiers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter stateless string transformer with no output schema and only two annotations, the description covers what is done, the three modes, error output, and cost, which is sufficient. Only minor gaps remain (e.g. size limits or whether validation short-circuits formatting).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with mode, input, and indent all documented in the schema (including enum values and the indent default of 2). The description adds no format or syntax detail beyond the schema, so the baseline 3 for full schema coverage is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs (validate, pretty-print, minify) and the resource (JSON text), plus the error-reporting behavior with exact line/column. Siblings such as base64, hash, and jwt_decode are unrelated utilities, so no sibling differentiation is needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The three modes are named, which implicitly tells the agent the three use cases, but there is no explicit when-to-use guidance, no statement of when this tool is preferable to another, and no mention that mode defaults to validate beyond what the schema already says. Usage remains implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jwt_decodeDecode JWTARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The JWT (optionally prefixed with 'Bearer ') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only safety profile, and the description adds meaningful context beyond them: the signature is not verified (a critical caveat), plus cost ($0.001 via x402) and a rate limit (5 free calls/day). It stops short of describing error/malformed-token behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and returned fields, followed by the key caveat and pricing. Three tight clauses, no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully explains what is returned and adds the non-verification caveat and cost model. Nothing an agent needs to invoke and interpret the call correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself documents the single 'token' parameter including the optional 'Bearer ' prefix. The description adds no parameter detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Decode) and resource (JWT) and enumerates the returned content: header, payload, issued/expiry times, and expiry status. jwt_decode is self-evidently distinct from the encoding/hashing siblings (base64, hash), so no confusion arises.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage boundary with 'Does not verify the signature,' which tells the agent when this tool is and isn't sufficient (e.g., not for trust/validation decisions). It does not name alternatives, but no sibling competes for this task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
macro_seriesMacro data (FRED)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of latest observations (default 12, max 500) | |
| start | No | Only observations on/after YYYY-MM-DD | |
| series | Yes | FRED series id (e.g. CPIAUCSL) or alias (e.g. cpi, unemployment, fed_funds) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true and openWorldHint=true already present, the safety profile is clear. The description adds valuable cost transparency ('$0.005 per successful call via x402 (eip155:8453)'); 5 free calls/day across all tools', which is behavior beyond annotations. However, it does not disclose failure modes (e.g., invalid series, rate limits, authentication requirements), leaving some transparency gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but fairly well-structured: it front-loads the core purpose and scope, then lists aliases and pricing. The list of example series could be seen as slightly excessive for conciseness, but it serves a practical purpose as a quick reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and rich annotations, the description is nearly complete: it explains what data is returned (latest, change, YoY, recent observations) and the cost model. It lacks explicit error handling or detailed behavior on invalid inputs, but for a read-only data retrieval tool, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents all three parameters. The description lists example aliases but does not add any semantic details beyond what the schema already provides. Baseline 3 is appropriate when schema carries the full parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'US macroeconomic time series from FRED' and then details the exact computed outputs (latest value, change vs previous and year-over-year, recent observations). It clearly distinguishes this tool from siblings like treasury_yields and fx_rates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description but there are no explicit when-to-use or when-not-to-use guidelines. It doesn't clarify, for example, when to choose this tool over treasury_yields or fx_rates, nor does it state that the tool is specifically for macro data rather than rates or currency pairs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sec_companyUS company fundamentals (SEC)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (alternative to ticker) | |
| ticker | No | US stock ticker, e.g. AAPL, MSFT, BRK.B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only and open-world semantics, and the description adds genuinely useful context beyond them: the x402 pricing model ($0.01 per successful call on eip155:8453) and the 5-call/day free tier across all tools. That cost/limit disclosure is behavior an agent needs and cannot get from the schema. It stops short of stating auth or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence establishes the resource and its contents, with the pricing constraint placed second. The field enumeration is long but earns its place by defining the return surface in the absence of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates the returned data and discloses pricing/quotas. The one gap is that both parameters are optional (required: 0) yet at least one of ticker or cik must logically be supplied, and the description never states that constraint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry their own descriptions, including the CIK-as-alternative-to-ticker relationship, so the schema does the heavy lifting. The description adds no parameter syntax or format detail beyond it, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (company profile and key fundamentals), the source (SEC EDGAR XBRL data), and enumerates the data set, which cleanly separates it from siblings like sec_filings and sec_insider_trades. An agent can identify exactly what this tool returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumerated data set (use this when you need fundamentals rather than filings or insider trades), but there is no explicit when-to-use/when-not statement or a named alternative for adjacent needs. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sec_filingsSEC filings listARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (alternative to ticker) | |
| forms | No | Comma-separated form types, e.g. '10-K,10-Q,8-K' | |
| limit | No | Max results (default 20, max 100) | |
| since | No | Only filings on/after this date, YYYY-MM-DD | |
| ticker | No | US stock ticker, e.g. AAPL, MSFT, BRK.B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context the annotations cannot convey: the per-call price ($0.005 via x402 on eip155:8453) and the 5-free-calls-per-day quota across all tools, which materially affects invocation decisions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste: capability and filtering are front-loaded, and the pricing constraint follows compactly. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully names the return fields (filing date, period, document links) and discloses cost and quota. It does not clarify that at least one of ticker or cik must be supplied (schema marks zero required params), which is a minor but real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so cik, ticker, forms, since, and limit are all documented in the schema itself. The description reinforces form-type and date filtering but adds no syntax or constraint detail beyond what is already structured, matching the baseline for full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Latest SEC filings of a US company'), enumerates the form types it covers, and names the returned fields (filing date, period, document links). An agent can distinguish it from sec_company and sec_insider_trades without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it can be filtered by form types and date, which implies usage, but gives no explicit when-to-use guidance relative to siblings like sec_company or sec_insider_trades. The agent must infer that this is the broad filing-list tool rather than the company-profile or insider-trade tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sec_insider_tradesInsider trades (SEC Form 4)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (alternative to ticker) | |
| limit | No | Number of latest Form 4 filings to parse (default 10, max 20) | |
| ticker | No | US stock ticker, e.g. AAPL, MSFT, BRK.B |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=true, so the description is not burdened with the safety profile. It goes beyond them by disclosing cost ($0.02 per successful call via x402 on eip155:8453) and a rate limit (5 free calls/day across all tools), which materially affects an agent's invocation strategy. It does not cover failure modes or data staleness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first front-loads the purpose and returned fields, the second carries the pricing and quota constraint. No filler, and the field enumeration is compact rather than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description substitutes by outlining the returned fields and totals, and it discloses cost and quota. An agent can call it correctly without opening the schema, though the absence of any note on ticker/CIK precedence or empty-result behavior leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so cik, ticker and limit are already documented in the schema, including the default and max for limit. The description adds no parameter-level guidance (e.g. what happens if both ticker and cik are supplied, or the cost interaction with limit). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Recent insider transactions of a US company parsed from SEC Form 4 filings,' and enumerates the payload (who, what, date, shares, price, value, holdings). The Form 4 framing cleanly separates it from sibling tools sec_company and sec_filings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the tool for insider activity, but there is no explicit when-to-use or when-not-to-use guidance and no routing to sec_filings or sec_company. No prerequisites (e.g. ticker vs CIK equivalence tradeoff) are discussed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
treasury_yieldsUS Treasury yield curveARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | YYYY-MM-DD; default latest available | |
| tenor | No | Tenor for history, e.g. 10Y, 2Y, 3M (default 10Y) | |
| history_days | No | Also return this many daily points for one tenor (max 250) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds valuable behavioral context beyond the annotations: the exact pricing model ($0.005 per successful call via x402) and the free tier (5 free calls/day across all tools), which are not in the annotations. It also mentions the data range and history limit, though it does not describe rate limits beyond the free tier.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence followed by a pricing sentence. It is front-loaded with the core purpose and then adds pricing. It could be slightly more concise, but every element serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description covers the data range, date handling, history option, and pricing. It is nearly complete for an agent to call the tool correctly, though it could clarify the response format or the exact rate-limiting behavior beyond the free tier.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are fully documented in the schema. The description mentions 'latest or a given date' and 'optional daily history for one tenor,' which aligns with the parameters but adds no new semantic detail beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (official daily US Treasury par yield curve) and scope (1M to 30Y, percent, latest or given date), plus optional history. It clearly distinguishes itself from siblings like fx_rates and macro_series by focusing on Treasury yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage through context (latest or a given date, optional history for one tenor) but does not explicitly state when to prefer this over fx_rates or macro_series, nor when-not to use it. The pricing note provides some context but not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uuidGenerate UUIDsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many (1-100, default 1) | |
| version | No | v4 (default) or v7 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds genuinely useful behavior the annotations cannot convey: cryptographic randomness, the per-call price, the payment rail (x402/eip155:8453), and a 5-call/day free tier. It stops short of describing what happens when the free tier is exhausted or how billing failures surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences, zero filler, with the capability statement front-loaded and the commercial terms demoted to the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers inputs, variants, and cost model for a trivial two-optional-param tool, and no output schema exists so return values need not be explained. A brief note on the return shape (array vs single string) would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns one extra point by characterizing v7 as 'time-ordered', which is semantic meaning the schema's bare enum label 'v7' does not supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (generate UUIDs), the exact output range (1-100), and the two variants (v4 or time-ordered v7). None of the sibling utilities overlap with this, so an agent can select it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: calling out 'time-ordered v7' hints at when v7 is preferable, but there is no explicit when-to-use guidance, no prerequisites, and no routing away from alternatives (which is less critical given the siblings are unrelated utilities).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
- Added
base64 - Changed
convert_document5 fields changed- changed
Input schema / properties / base64 / descriptionPrevious value: -"File content in base64 (alternative to url)"New value: +"File content, base64 (alternative to url, max ~25 MB)" - changed
Input schema / properties / filename / descriptionPrevious value: -"File name with extension, e.g. report.docx"New value: +"File name with extension, helps format detection" - changed
Input schema / properties / max_chars / descriptionPrevious value: -"Max markdown length (default 100000)"New value: +"Truncate markdown to this many chars (default 100000)" - changed
Input schema / properties / url / descriptionPrevious value: -"Public http(s) URL of a document or web page"New value: +"Public http(s) URL of the document or web page" - removed
Input schema / properties / url / formatRemoved value: -"uri"
- Added
fx_rates - Added
hash - Added
json_tool - Added
jwt_decode - Added
macro_series - Added
sec_company - Added
sec_filings - Added
sec_insider_trades - Added
treasury_yields - Added
uuid
1 tool update
- First observed
convert_document
Related MCP Connectors
75 MCP tools: SEC financials, FRED economics, IRS 990, FDA, FX, UK Companies House.
SEC EDGAR financials, insider trading, and economic data for AI agents. US GAAP + IFRS.
US macro & Treasury data — FRED series, yield curve, auctions, and a macro dashboard.
Free US market data as tools: SEC filings, insiders, short interest, 13F, COT, Fed liquidity.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceSelf-hosted financial data terminal for AI agents. Scrapes and serves SEC filings (full-text search), 13F institutional holdings, insider and congressional trades, FINRA short data, FRED economic indicators, CFTC futures positioning, VIX/put-call ratios, and daily stock prices over MCP.230AGPL 3.0
- AlicenseNot gradedqualityBmaintenance24 MCP tools for SEC financials, FRED economics, US Census demographics, and World Bank data via Streamable HTTP.MIT
- AlicenseBqualityAmaintenanceMCP server + TypeScript SDK for 36 U.S. government data APIs — 188 tools. Treasury, FRED, Congress, FDA, CDC, FEC, lobbying, and more. Works with VS Code Copilot, Claude Desktop, Cursor.345250 npm112MIT
- AlicenseAqualityCmaintenanceEnables AI agents to query free public market data through 21 tools spanning 29 datasets sourced from SEC EDGAR/XBRL, FINRA, CFTC, the Federal Reserve, USAspending and exchange APIs. Covers short interest, insider and fund holdings, company financials, macro and policy rates, funding rates, crypto market metrics, IPOs and federal contracts, with no API key required to start.22355 npmApache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.