FINSEC — Certified SEC Memory MCP Server
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation3/5
Several tools have overlapping purposes: compute_sec_cagr and lattice_arith_evaluate both compute CAGR, and query_financial_sec overlaps with query_sec_metric_exact. However, descriptions provide some distinctions (e.g., CAGR via log-walk vs. native arithmetic, general vs. exact metric recall), so an agent can differentiate with careful reading.
Naming Consistency2/5Tool names follow no single pattern: some use 'query_' prefix, others use 'compute_', 'lattice_', 'valuation_', or 'vln_'. Naming styles mix verb_noun, noun_verb, and noun_noun with inconsistent use of abbreviations and underscores, making it hard to predict tool functions from names alone.
Tool Count5/5With 7 tools, the set is well-scoped for the financial SEC/EDGAR domain. Each tool serves a distinct function area: querying, computation, valuation, peer analysis, and capabilities overview. No redundancy or bloat.
Completeness4/5The tool set covers core SEC data querying (general, exact, peer), arithmetic computation (CAGR, ratios, etc.), and valuation inputs. Minor gaps exist, such as no tool for listing available metrics or periods, and no native filtering/sorting. Overwall, it provides sufficient coverage for most financial analysis tasks.
Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 21 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
Tools from this server were used 6 times in the last 30 days.
This repository includes a glama.json configuration file.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Deterministic zero-error' behavioral context, which implies guarantees about output reliability not present in the readOnlyHint annotation. It also clarifies the data source 'verified SEC EDGAR financial metrics', giving insight into the tool's data provenance. This goes beyond the annotation while remaining consistent with read-only semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose, key operations, and data domain. Every word serves a purpose, and the parenthetical list of operations is a compact way to communicate scope. It front-loads the key aspects without superfluous details, embodying excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (8 parameters, multiple operations) and the presence of an output schema, the description covers the essential context: what the tool does, its deterministic nature, and the data source. It omits usage scenarios or operation-specific details, but the schema handles parameter specifics. For a tool of this scope, the description is sufficiently complete, though it could theoretically mention whether operations are composable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not elaborate on individual parameters, but the input schema provides descriptions for all 8 parameters (100% coverage). The description's mention of operation types indirectly relates to the 'op' parameter, adding marginal context. Since the schema fully documents parameters, a baseline of 3 is appropriate; no extra semantic value is added by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is a 'Deterministic zero-error algebraic solver' and lists specific operations (cagr, ratio, multiply, divide, yoy_series, product_chain) over SEC EDGAR metrics, which clearly conveys its purpose. However, it does not explicitly differentiate itself from sibling tools like compute_sec_cagr, despite the overlap in CAGR functionality. The verb+resource structure is specific enough to understand the core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided about when to choose this tool over the sibling tools (e.g., compute_sec_cagr). The description lists available operations but does not indicate scenarios where this tool is preferred or provide exclusions. There is no mention of alternatives or when not to use it, leaving the agent without explicit decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates non-destructive behavior. The description adds no further behavioral details about return format or potential side effects rule out any contradiction. It does not mention pagination, timeouts, or how the result is structured beyond 'compact JSON schema' in the low_tokens parameter, which is stated in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first explains what it returns with an example pack, second clarifies exclusions. No redundant wording. Front-loaded with the core purpose ('Certified SEC valuation pack') and keeps it tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool returns a pack and has an output schema, the description covers the essential purpose and boundaries. It could mention that it provides historical and fundamental data, but the schema already details fields, and the surprise of exclusions (market EV, Buffett Indicator) is communicated. A minor gap is lack of a typical use case, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for parameters is 100% (each parameter has a description). The tool description adds no extra semantics beyond what the schema already provides. It mentions 'including dcf_valuation_inputs historical FCF' which reinforces the pack parameter but does not delve into syntax or defaults beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns a 'Certified SEC/EDGAR valuation inputs pack' and enumerates the 12 packs (e.g., dcf_valuation_inputs). It also explicitly delimits its scope by saying 'Not market EV, P/E, trading DCF, or macro gauges', which sharpens the tool's purpose. Lacks a direct statement of what the agent should use the returned data for, but the title and examples suffice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides negative guidance (what it is not) but does not name alternative siblings or give explicit scenarios for when to use this tool over others. The description implies it is for certified SEC-based valuation inputs, but does not reference sibling tools or provide decision rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While readOnlyHint already indicates a safe read operation, the description adds valuable behavioral traits: it is 'deterministic mathematical execution with zero language model confabulation,' which reassures users about output reliability. This goes beyond the annotation by promising exactness and no hallucination, which is highly relevant for financial data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two sentences with no filler. The first sentence front-loads the core purpose, and the second adds a key guarantee. Every word earns its place, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema coverage, the description does not need to explain return values or parameter formats. It covers the essential context: it uses SEC data and is deterministic. However, it omits any discussion of data availability, error handling, or use-case boundaries, which slightly detracts from completeness in a complex financial domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage for all five parameters, each with descriptive text. The description itself does not elaborate on parameters, but the schema already handles that. Per calibration, a baseline of 3 is appropriate when schema coverage is high and the description adds no extra parameter insight.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: computing an exact compound annual growth rate (CAGR) from verified SEC filing facts. It uses a specific verb ('calculation') and identifies the resource ('SEC filing facts'), and the deterministic language distinguishes it from query-only sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or contrasts with sibling tools like query_sec_metric_exact or query_financial_sec. The context of CAGR computation is implied but not explicitly framed as the recommended option for such calculations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already classifies this as safe, and the description adds context by describing dynamic peer-group construction from SEC filings and 10-K disclosures. It does not cover pagination or empty-result behavior, but the read-only disclosure plus source detail is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver the full core description: first establishes what the tool returns and how peers are derived, second states when to use it. No filler or repetition of elements that are already visible in structured metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter, a high-coverage schema, readOnly annotation, and output schema present, the description is sufficiently complete for a peer-group query tool. It could include more explicit exclusion guidance, but the combination of description and structured metadata is not missing major context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all five parameters. The description adds general peer-group context but does not materially augment the detailed parameter descriptions in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns certified SEC EDGAR XBRL metrics for an industry peer group, and explains that the peer group is dynamically derived from SIC codes and 10-K disclosures. It further differentiates from siblings by positioning it for sector screening and non-ticker-specific queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this tool for sector screening or when no specific company ticker is provided, giving clear situational guidance. It does not name alternative ticker-level tools, so it falls just short of a full when-not/alternatives explanation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses crucial behaviors: it never invents numbers, may return SAFE_REFUSAL as an honest response, and performs FX conversion with provenance. This adds meaningful context that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. The first sentence states purpose, the second explains refusal semantics, and the third covers currency conversion. Every sentence provides necessary information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, output schema present), the description covers key aspects: certified values, refusal handling, and currency conversion. It does not mention ambiguous query handling, but the output schema and schema-rich parameters fill most gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining how target_currency and usd_only relate to post-recall conversion, and clarifies the default reporting currency, which enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Certified SEC fact query' – a specific verb and resource. It clearly differentiates the tool by emphasizing provenance and non-invention, distinguishing it from sibling tools like query_sec_metric_exact or query_sec_sector_peers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage guidance: how to handle SAFE_REFUSAL, how to request FX conversion via target_currency/usd_only or natural language, and the default currency behavior. However, it does not explicitly state when to prefer this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description does not contradict that. It adds context about the content returned (pack types, operations, scope), which goes beyond the annotation. The description provides a clear picture of what the tool reveals without side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that lists the exact contents of the overview. No wasted words, well-structured and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and read-only annotation, the description sufficiently covers what the tool does. It is appropriately detailed for a capabilities overview tool and complements the structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the sole parameter (low_tokens) with full coverage. The description does not mention the parameter or add any extra meaning beyond what the schema provides. Baseline 3 is appropriate since schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a structured overview of multiple specific domains (EDGAR valuation packs, financial arithmetic, SEC calculations, scope). It distinguishes itself from sibling tools that perform specific calculations (e.g., compute_sec_cagr) by being the overview/summary tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one needs a broad overview of capabilities. It does not explicitly mention alternatives or when not to use it, but context with siblings makes it clear. Slightly below perfect due to lacking explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses that results are server-side verified, include provenance, and that missing data triggers SAFE_REFUSAL rather than fabrication. This adds meaningful behavioral context about verification and failure modes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, punchy sentences pack a complete picture. Every clause earns its place: exactness, scope, verification, provenance, failure behavior, and an anti-pattern all communicated without filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a lookup tool with a clear input contract and output schema, the description fully captures what matters: what it does, how it ensures accuracy, how it fails safely, and what it refuses to do. No important context is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description reinforces the company+metric+period trio in its purpose statement, which maps naturally to the three required parameters, but the schema already documents them fully. It adds no format or domain constraints beyond what's present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
"Exact EDGAR metric recall for company+metric+period" uses a specific verb (recall), resource (EDGAR metric), and scope, clearly distinguishing it from siblings like query_financial_sec and compute_sec_cagr. The word "Exact" and the closing "No LLM math" further position it as a precise, factual lookup tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when this tool is appropriate (exact factual recall) and what to do instead when data is missing ("SAFE_REFUSAL when missing"). "No LLM math" implicitly excludes it for computation tasks, pointing users toward math-capable siblings like compute_sec_cagr.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Calera-Labs/finsec-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server