Skip to main content
Glama
sepehr071

codal-mcp

by sepehr071

Search Codal disclosures

cd_search_letters
Read-onlyIdempotent

Search Codal disclosures from Iranian listed companies newest first, filtering by company, date, category, or letter type to find financial statements, monthly reports, and meeting decisions.

Instructions

Search codal.ir disclosures (letters) of Iranian listed companies, newest first, 20 per page.

Use it for "latest letters of a company", financial statements, monthly reports, meeting decisions, dividend schedules or capital increases. With no filters it lists the newest letters of all companies. Combine filters to narrow down; total is the number of matching letters and pages the number of pages (pass page for more). Each letter has its tracing_no: pass it to cd_letter to read the letter's text and tables and get its PDF, Excel and attachment links. files lists what the letter has. Dates and times are Jalali (Tehran time). No results: check the symbol with cd_company, widen the dates or drop a filter.

Input Schema

NameRequiredDescriptionDefault
pageNoResult page, 20 letters each, newest first.
titleNoWords that must appear in the letter title, in Persian, e.g. سود or افزایش سرمایه.
symbolNoExact trading symbol in Persian, e.g. فولاد or خودرو. Use cd_company to find it.
to_dateNoSent on or before this Jalali date, YYYY/MM/DD.
categoryNoLetter group: 1 financial statements, board reports and dividend schedules; 2 material information, clarifications and EPS forecasts; 3 monthly activity and portfolio reports; 4 articles of association and prospectuses; 5 board and audit committee; 6 shareholder meetings (invitations, decisions); 7 capital increase; 8 exchange notices; 9 SEO (regulator) notices; 10 other; 11 debt securities.
from_dateNoSent on or after this Jalali date, YYYY/MM/DD, e.g. 1405/07/01.
tracing_noNoCodal tracing number (شماره پیگیری) of one letter, e.g. 1612323.
letter_typeNoOne letter type id from cd_letter_types, e.g. 6 interim/annual financial statements, 58 monthly activity report, 20 annual general meeting decisions, 11 material information, 30 dividend payment schedule.
period_monthsNoOnly reports covering this many months, e.g. 12 annual, 6 half-year, 3 quarterly, 1 monthly.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds genuinely new behavior: newest-first ordering, fixed 20-per-page pagination, the meaning of total and pages, Jalali/Tehran time convention, and what each letter carries (tracing_no, files). It also describes the chaining path to cd_letter for full text, tables and PDF/Excel/attachment links.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, scope and ordering in the first sentence, then use cases, then return/pagination semantics, then follow-up and troubleshooting. Every clause conveys actionable information; nothing is redundant with the schema text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 optional parameters and no output schema, the description still covers return metadata (total, pages, per-letter files), pagination limits, date conventions, and the next-step tool. An agent has everything needed to call it and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so field meanings are already documented; the description still adds value by explaining pagination usage (pass page for more), the total/pages relationship, the Jalali date format expectation, and the tracing_no handoff to cd_letter. It does not add further semantics for title/symbol/category beyond the schema, which keeps it below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search), a specific resource (codal.ir disclosures/letters of Iranian listed companies), plus ordering and page size. It implicitly distinguishes itself from cd_letter (which reads a single letter's text/tables) and cd_company (symbol lookup), so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete use cases (latest letters of a company, financial statements, monthly reports, meeting decisions, dividend schedules, capital increases), explains the no-filter behavior, advises combining filters to narrow down, and provides explicit no-results recovery steps (check symbol with cd_company, widen dates, drop a filter). Alternatives are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.