Sarmad Academy, Products and Guides
Server Details
Read-only Persian courses, EEG/QEEG guides, articles and live product prices with source links.
- Status
- Healthy
- Uptime
- 99.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clear, non-overlapping purpose: search for finding items, fetch for retrieving full content, and get_price for obtaining pricing. No ambiguity exists.
All three tool names are lowercase single verbs (fetch, get_price, search), consistently following a simple, predictable pattern.
Three tools is well-suited for the scope of searching, fetching, and price lookup. Not excessive or insufficient.
The set covers the essential read/search operations for the domain, but lacks write or update capabilities. However, given the described public-information focus, this is a minor gap.
Available Tools
3 toolsfetchRead a public Sarmad sourceARead-onlyIdempotentInspect
Retrieve the complete public Markdown for a stable id returned by search. Includes the source URL, canonical URL, language, and known update date. Never retrieves arbitrary URLs or private content.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent), the description discloses the return format (Markdown), included fields (source URL, canonical URL, language, update date), and constraints (no private content). This gives a full behavioral picture.
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 two sentences: the first states the core action, the second details return content and boundaries. It is concise, front-loaded, and free of fluff.
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 single-parameter retrieval tool, the description covers what it returns, where the id comes from, and what it deliberately avoids. No critical information for correct usage 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?
The schema only defines id as a string with length limits, but the description clarifies that id is the stable id returned by search, giving it meaningful context. This fully compensates for the lack of parameter description in the schema.
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 clearly states the action (retrieve), the object (complete public Markdown), and the scope (stable id returned by search). It also differentiates from siblings by noting it never retrieves arbitrary URLs or private content.
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 when to use this tool (after search) and explicitly states boundaries (never arbitrary URLs or private content), but doesn't directly compare to get_price or search. The workflow is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priceRead a current published product priceARead-onlyIdempotentInspect
Get price and stock from the published shop record using a product id returned by search. amount is Iranian rial (IRR); displayAmount is toman (1 toman = 10 rial). Null means request a quote, never free. Course prices are not available.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| price | Yes | |
| title | Yes | |
| checkedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly hint, the description adds important behavioral details: it returns both price and stock, clarifies the currency units (rial vs. toman), and explains the meaning of null (quote, not free). These disclosures exceed the annotations' basic safety flags and prevent misinterpretation of the response.
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 compact and well-structured, with no redundant phrases. It efficiently conveys purpose, input source, currency details, null semantics, and a limitation in a few sentences. Every sentence adds value.
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 that the output schema is not provided, the description compensates by fully describing the return data (price and stock), the units, the null behavior, and the unavailable course prices. It also links the input to the sibling search tool. This covers all necessary context for an agent to use the tool correctly.
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?
The sole parameter `id` is given meaningful context: it is a product id specifically returned by search. This clarifies the expected value and its origin, which is more informative than the schema's simple string type and length constraints.
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 clearly states the tool's function: 'Get price and stock from the published shop record using a product id returned by search.' It names the resource (published shop record), the specific data retrieved (price and stock), and the required input (product id), leaving no ambiguity about the tool's purpose.
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 explicitly indicates when to use this tool: after obtaining a product id from search ('using a product id returned by search'), and when not to use it: for courses ('Course prices are not available'). This gives clear guidance on the tool's place in the workflow relative to its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch Sarmad public contentARead-onlyIdempotentInspect
Search published Persian or English terms across Sarmad courses, products, prices, public guides and blog articles. Returns stable ids and citable page URLs; use fetch for the full public text.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent), the description discloses that the tool returns stable IDs and citable URLs and that it does not return full text. This adds useful behavioral context.
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 two sentences, front-loaded with the action and scope, and ends with a practical pointer. No unnecessary fluff or repetition.
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 search tool, the description is complete enough: it states what is searched, what is returned, and how it relates to the sibling tool 'fetch'. It does not include output schema or error handling, but that is not critical for basic usage.
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?
The input schema only defines 'query' with type and length constraints, with no description. The description implies the query is a term to search for, but does not clarify matching behavior or language specifics, providing only minimal compensation for the schema's lack of detail.
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 clearly states the action ('Search published Persian or English terms across...') and the target resources (courses, products, prices, guides, blog articles). It also distinguishes from the sibling tool 'fetch' by explicitly directing full-text retrieval to that tool.
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 provides a clear pointer to use 'fetch' for full public text, which implies search is for finding IDs and URLs. However, it does not explicitly mention when to use 'get_price' instead of search, so guidance is not exhaustive.
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.
3 tool updates
- First observed
fetch - First observed
get_price - First observed
search
Related MCP Connectors
Read-only approved AI tools, public stacks, guides, and evidence-aware comparisons.
Live Iran exchange rates, gold, crypto, and Toman market data for AI agents.
Read-only access to Epivo's live course catalogue for AI agents.
Public read-only MCP for SubcueAI: live pricing, latest desktop version, overview and FAQ.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables local document Q&A by reading .txt or .pdf files and answering questions in Persian using locally running models.MIT
- AlicenseAqualityCmaintenanceProvides read-only access to EarScribe's local-first AI transcription knowledge, including setup guidance, FAQ, and official links, for MCP-compatible AI clients like Claude Desktop and Cursor.2MIT
- AlicenseAqualityAmaintenanceEnables natural-language search, page reading, deployment configuration, and build-log diagnosis over Liara cloud documentation, with a bundled corpus and no database or API key required.4MIT
- AlicenseNot gradedqualityDmaintenanceTurns any source material into a guided learning experience with learning maps, notes, four-phase study loop, spaced repetition flashcards, and grounded Q\&A.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.