Skip to main content
Glama

iFreeWork — public content

Server Details

iFreeWork services, portfolio, blog, search, contacts and consent-gated messages.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct resource and action pair: get_* fetches a single item, list_* enumerates a collection, search_content searches across everything, and send_message performs a write. There is no overlap or ambiguity in intent between any two tools.

Naming Consistency5/5

All 10 tools follow a consistent snake_case verb_noun pattern (get_about, get_blog_post, list_blog_posts, list_portfolio, get_service, search_content, send_message). The convention is predictable and uniform across list/get/action families.

Tool Count5/5

Ten tools is well-scoped for a public content site, with a clean list/get pair per content type plus a search and a single write action. No tool feels redundant or missing.

Completeness5/5

The read-only content surface (about, blog, portfolio, services, contact) is fully covered with both list and get variants, cross-content search exists, and the one write action (send_message) is present with a confirmation mechanism. No obvious lifecycle gaps remain.

Available Tools

10 tools
get_aboutAbout the developerB
Read-onlyIdempotent
Inspect

About page: who Andrey Zubar is, experience, stack and how he works. / Страница «О себе».

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoContent language: ru (default) or en. English exists only for translated pages.ru

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the content is a personal bio page, with no detail on return format or the bilingual behavior 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.

Conciseness4/5

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

Two short phrases, front-loaded with the content summary, with no filler. The Russian duplicate of the title is harmless but adds no informational value for an English-reading agent.

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

Completeness4/5

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

For a simple read-only, parameter-free-in-practice retrieval with full schema coverage and no output schema, the description says enough to call it correctly. Only the lack of usage routing keeps it from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100% and the single lang parameter is fully documented in the schema (enum, default, meaning). The description adds nothing about language selection, so the baseline 3 is appropriate.

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

Purpose4/5

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

Names the resource ('About page') and enumerates what it contains: who the developer is, experience, stack, and working style, which cleanly separates it from siblings like get_contact or get_portfolio_item. No explicit retrieval verb, but the intent is unambiguous.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as get_contact or search_content. Usage is only inferable from the tool name and content description, so an agent gets no routing guidance.

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

get_blog_postGet a blog postB
Read-onlyIdempotent
Inspect

Full text of one blog article as Markdown. Pass id, slug or url. / Полный текст статьи.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoDocument id from a list result.
urlNoCanonical page URL or path from a list result.
langNoContent language: ru (default) or en. English exists only for translated pages.ru
slugNoURL slug (alias) from a list result.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds the return format (full text as Markdown), which is genuinely useful given there is no output schema, but says nothing about lookup failure behavior or language fallback.

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

Conciseness4/5

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

Two short, front-loaded sentences that waste nothing and put the return payload first. The appended Russian sentence is redundant for a tool whose schema is already bilingual, costing it a point.

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

Completeness3/5

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

With no output schema, the description does cover the core return value, but for a tool with four optional identifier parameters it omits identifier precedence and behavior when the article is not found or the language is unavailable. Adequate but with clear gaps.

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

Parameters3/5

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 four parameters in detail. 'Pass id, slug or url' merely restates three schema fields and gives no precedence rule when multiple identifiers are supplied, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Full text of one blog article as Markdown'), which clearly distinguishes it from list_blog_posts and search_content. It also discloses the response format up front. It stops short of naming an alternative sibling explicitly, so a 4 rather than 5.

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

Usage Guidelines3/5

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

The description implies you fetch a single article after obtaining an id/slug/url from a list result, which is useful implied guidance. However, it never states when to prefer this over search_content or get_blog_post's sibling readers, nor any exclusions or prerequisites.

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

get_contactContact detailsA
Read-onlyIdempotent
Inspect

Telegram and e-mail of the developer and how to send a message. / Контакты: Telegram и почта.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so the description's job is to add return-content context. It does that by naming the exact channels returned (Telegram, e-mail) and that sending instructions are included — meaningful disclosure given there is no output schema.

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

Conciseness4/5

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

Very short and front-loaded: the returned content leads the sentence. The bilingual restatement is redundant for an English-speaking agent, but it is a minor tax rather than a structural flaw.

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

Completeness4/5

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

For a parameterless, read-only tool with no output schema, the description supplies what is otherwise missing — the shape of the response (contact channels plus message-sending guidance). Nothing an agent needs to invoke it correctly is absent.

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?

The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. Schema coverage is 100% and additionalProperties is false, so no undocumented inputs can exist.

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

Purpose4/5

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

The description names a specific resource (the developer's Telegram and e-mail) and adds the scope of 'how to send a message', so an agent knows this is a static contact-info lookup. It stops short of explicitly distinguishing itself from get_about or send_message, which is the one thing that would make the boundary unambiguous.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus alternatives. The phrase 'how to send a message' hints at a relationship with the send_message sibling, but the description never says 'use this to learn the contact channel, then call send_message' — the routing is left entirely to inference.

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

get_portfolio_itemGet a portfolio projectA
Read-onlyIdempotent
Inspect

Full case description of one project as Markdown. Pass id, slug or url. / Полное описание работы.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoDocument id from a list result.
urlNoCanonical page URL or path from a list result.
langNoContent language: ru (default) or en. English exists only for translated pages.ru
slugNoURL slug (alias) from a list result.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds one behavioral fact beyond the annotations: the response is delivered as Markdown. It says nothing about auth needs, rate limits, error behavior for a bad slug, or fallback when an identifier is missing.

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

Conciseness4/5

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

Two short sentences, front-loaded with the return shape before the identifier guidance. The trailing Russian duplicate ('/ Полное описание работы') is pure restatement and earns no place in an English-facing decision, which keeps it from a 5.

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

Completeness4/5

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

With no output schema, the description carries the return-value burden and does so by naming the format and payload ('Full case description ... as Markdown'). Combined with the four identifier parameters and the safety annotations, an agent has enough to call it correctly; only the identifier-selection nuance (which of id/slug/url to prefer) is left unstated.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (id, url, slug, lang) are already documented in the schema, including the lang default and the 'English exists only for translated pages' caveat. The description only restates that id, slug or url may be passed and omits lang entirely, so it adds little beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Full case description of one project'), clearly a single-item fetch rather than a listing, which implicitly contrasts with list_portfolio/get_service. It does not name a sibling alternative, but the singular scope is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'Pass id, slug or url' implies this is used after obtaining an identifier from a list result, which is useful implied guidance. However, there is no explicit when-to-use/when-not statement or mention of alternatives such as list_portfolio or search_content, leaving routing to inference.

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

get_serviceGet a service pageB
Read-onlyIdempotent
Inspect

Full text of one service page as Markdown. Pass id, slug or url. / Полный текст услуги.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoDocument id from a list result.
urlNoCanonical page URL or path from a list result.
langNoContent language: ru (default) or en. English exists only for translated pages.ru
slugNoURL slug (alias) from a list result.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and non-openWorld, so the safety profile is fully covered. The description adds the useful fact that the payload is the full page text in Markdown, but says nothing about error behavior for a bad id/url, missing pages, or language fallback.

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

Conciseness4/5

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

Very short and front-loaded: return format first, then identifier guidance. The bilingual duplication ('/ Полный текст услуги') is redundant for an agent reading English, but the whole description is still only two sentences.

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

Completeness3/5

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

For a simple read tool with no output schema and full schema coverage, the description is mostly sufficient, and it does state the Markdown return format. However, with required parameters = 0 it never clarifies that at least one of id/slug/url must be supplied, nor what happens if none is given — a real gap for correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so id, url, slug and lang are already documented in detail (including the lang enum and the 'from a list result' provenance). The description adds only the OR-relationship between id, slug and url, and omits lang entirely; baseline 3 is correct when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource: retrieving the full text of one service page, plus the return format (Markdown). This is clearly distinguishable from list_services and get_blog_post. It stops short of explicitly naming a sibling, so a 5 is not warranted.

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

Usage Guidelines2/5

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

The description says which identifiers to pass but never states when to use get_service rather than list_services or search_content. There are no exclusions, prerequisites, or alternative-tool routing, so the agent must infer usage entirely from the name.

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

list_blog_postsList blog postsB
Read-onlyIdempotent
Inspect

Blog articles, newest first; filter by category; paginated. / Статьи блога.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoContent language: ru (default) or en. English exists only for translated pages.ru
pageNo
categoryNo
per_pageNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered without the description. The description does add one genuinely non-structured trait — default sort order (newest first) — plus confirmation of pagination, but says nothing about page-size limits, total counts, or empty-result behavior.

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

Conciseness3/5

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

The English clause is tight and front-loaded, but the appended Russian duplicate ('/ Статьи блога.') adds no information for the calling agent and is pure filler. Useful content is present but the sentence is fragmented rather than well-structured.

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

Completeness3/5

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

For a simple read-only, zero-required-parameter list tool with annotations covering safety, this is close to adequate, but the description omits how lang affects results and gives no hint of the returned item shape despite there being no output schema. An agent can call it, but with avoidable ambiguity.

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

Parameters3/5

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

Schema description coverage is only 25%, so the description should compensate; it explains category filtering and pagination but never mentions the lang parameter or its effect on listing. The lang enum is documented in the schema (ru default, en only for translated pages), which partially offsets the gap but leaves page/per_page undocumented.

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

Purpose4/5

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

Identifies the resource (blog articles) and its scope (newest first, filterable, paginated), which is more specific than a bare name restatement. It does not explicitly distinguish itself from the sibling get_blog_post, but the plural/listing framing makes the distinction largely inferable.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus get_blog_post or search_content, nor any exclusions. The mention of category filtering and pagination hints at capability but provides no selection guidance.

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

list_portfolioList portfolio projectsB
Read-onlyIdempotent
Inspect

Completed portfolio projects with category, tags and summary; filter by category slug/title or tag; paginated. / Работы из портфолио.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo
langNoContent language: ru (default) or en. English exists only for translated pages.ru
pageNo
categoryNoCategory id, slug or title (see categories in the result).
per_pageNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds one behavioral fact beyond the annotations — that results are paginated — but says nothing about default page size, ordering, or what happens with an unknown category/tag.

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

Conciseness4/5

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

One dense semicolon-separated sentence plus a short bilingual restatement; filters and pagination are front-loaded and nothing is wasted. The Russian clause is redundant rather than harmful.

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

Completeness3/5

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

For a 5-parameter read tool with no output schema and only 40% schema coverage, the description covers the core capability but omits language selection, paging defaults, and the fact that category accepts an id, slug or title. Adequate but with identifiable gaps.

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

Parameters3/5

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

Schema coverage is 40%, so half the parameters (tag, page, per_page) are documented only by name and type. The description compensates partially by naming category and tag as filters, but adds no format or constraint detail beyond the schema's own category/lang descriptions, and never mentions lang or paging semantics.

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

Purpose4/5

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

States a specific resource (completed portfolio projects) and the fields returned (category, tags, summary), which cleanly separates it from list_blog_posts, list_services and the singular get_portfolio_item. It does not name a sibling explicitly, but the resource noun makes the distinction unambiguous.

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

Usage Guidelines3/5

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

The description implies usage by listing the available filters (category slug/title, tag) and noting pagination, so an agent can infer this is the browsing/collection endpoint. However, it never says when to prefer this over get_portfolio_item for a single item or search_content for free-text queries.

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

list_servicesList servicesC
Read-onlyIdempotent
Inspect

Services offered (AI agents and RAG, Telegram bots, CRM, Laravel backend, integrations, security, crypto). / Список услуг.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoContent language: ru (default) or en. English exists only for translated pages.ru

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond that — nothing about what the list contains, ordering, or how it relates to get_service.

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

Conciseness4/5

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

Very short and front-loaded, with the category enumeration doing the informative work. The duplicated Russian string is a minor space cost but consistent with the bilingual tooling.

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

Completeness3/5

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

For a zero-required-parameter read-only list with full schema coverage and no output schema, the description is adequate to invoke the tool. It is not sufficient to place the tool correctly among its siblings (get_service, search_content), which is the remaining meaningful gap.

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

Parameters3/5

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

Schema description coverage is 100% and the single lang parameter is fully documented with its enum and default, so the schema carries the burden. The bilingual 'Список услуг' tail hints at the ru/en duality but adds no syntax or format detail beyond the schema.

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

Purpose4/5

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

The description names the resource clearly ('Services offered') and enumerates the service categories returned. It does not, however, distinguish this list operation from the sibling get_service (singular), so an agent can't tell from the text alone which one returns the catalog vs. a single item.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of when to prefer get_service instead, and no prerequisites. The agent is left to infer that this is the catalog-listing entry point from the name alone.

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

search_contentSearch site contentA
Read-onlyIdempotent
Inspect

Keyword search across About, Services, Portfolio and Blog; returns ranked pages with snippets and urls. / Поиск по сайту.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoContent language: ru (default) or en. English exists only for translated pages.ru
limitNo
queryYesWords to look for.
sectionsNoLimit to these sections; default all.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description adds value beyond them by disclosing the return shape ('ranked pages with snippets and urls'), which matters because there is no output schema. It says nothing about ranking factors, pagination, or match behavior (e.g., fuzzy vs exact).

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

Conciseness4/5

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

The English sentence is tight and front-loads the verb, scope and return shape with no filler. The trailing Russian restatement ('Поиск по сайту') duplicates the information for no functional gain, which is the only waste.

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

Completeness4/5

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 covers what comes back, and annotations cover the safety profile, so an agent has enough to invoke it. The main residual gap is the undocumented limit parameter and any guidance on choosing this tool over the list_* siblings.

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

Parameters3/5

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

Schema coverage is 75%, with lang, query and sections documented in the schema while limit carries no description. The description only echoes the section names already present in the enum and adds no syntax, matching or defaulting guidance, so it does little beyond what the schema provides.

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 and resource ('Keyword search across About, Services, Portfolio and Blog') and even scopes the return shape ('ranked pages with snippets and urls'). This clearly separates it from the get_*/list_* siblings, which retrieve known items rather than search by keyword.

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

Usage Guidelines3/5

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

Usage is implied by the word 'search' and the section list, so an agent can infer this is the tool for unknown-location lookups while get_*/list_* are for known items. However, no explicit when-to-use, when-not-to-use, or alternative is named, leaving the routing to inference.

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

send_messageSend a message to the ownerA
Idempotent
Inspect

Delivers a message to Andrey Zubar through the same mechanism as the contact form on the home page. Requires the human user's approval of the exact text and reply-to e-mail (confirmed_by_user=true). Rate limited; duplicates are not sent twice. / Отправить сообщение владельцу как через форму на главной; только с согласия пользователя.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional sender name.
emailYesWhere the owner should reply. Must belong to the human user who approved the message.
messageYesThe request: what is needed, context, budget or deadlines if known. Plain text, up to 3 links.
request_idNoOptional lowercase UUID to make retries idempotent.
confirmed_by_userYesMust be true: the human user reviewed and approved this exact text and email.

TDQS

A4.3/5.0
Behavior5/5

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

Goes beyond the annotations by disclosing the approval precondition (confirmed_by_user=true), the rate limit, and the duplicate-suppression behavior. This adds real operational context on top of openWorldHint/idempotentHint, letting the agent anticipate failure modes rather than infer them.

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

Conciseness3/5

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

The English content is front-loaded and tight, but the appended Russian sentence restates the same information, which is redundant for an agent consuming the tool. The duplication wastes space without adding meaning.

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 no output schema and 5 fully-documented parameters, the description still covers everything an agent needs: the approval gate, idempotency, and rate limiting. Nothing material is missing for successful invocation.

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

Parameters3/5

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 confirms that the approved email is the reply-to address, but adds little syntax or constraint detail beyond the already-documented schema fields.

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 and resource ('Delivers a message to Andrey Zubar') and pins down the mechanism ('same mechanism as the contact form on the home page'). All nine siblings are read-only getters/listers, so this write-to-owner tool is unmistakable.

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

Usage Guidelines4/5

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

Gives clear context: it requires prior human approval of the exact text and reply-to email, and notes it is rate limited with duplicate suppression. It does not explicitly name alternatives, but no sibling performs a comparable action, so the omission is minor.

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.

  1. 10 tool updates
    • First observedget_about
    • First observedget_blog_post
    • First observedget_contact
    • First observedget_portfolio_item
    • First observedget_service
    • First observedlist_blog_posts
    • First observedlist_portfolio
    • First observedlist_services
    • First observedsearch_content
    • First observedsend_message

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search and retrieve enriched European tech freelance job listings from EURES and Arbeitnow, with filtering by keyword, category, seniority, work mode, or contract type and access to full job details via ID.
    -
  • A
    license
    B
    quality
    C
    maintenance
    Enables MCP clients to search and manage Freelancehunt projects, bids, profiles, reviews, messages, and workspaces, with local filtering by keywords, budget, bid count, and employer quality.
    31
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server exposing 95 categories of independent work, freelance, gig and side-income opportunities in Portugal (PT-PT) with real contacts. Hosted Streamable-HTTP endpoint plus npx stdio bridge for Claude Desktop / Cursor.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources