MEOM
Server Details
Read-only public info from MEOM, a Finnish B2B website agency: services, references, team, booking.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool maps to a distinct resource (booking link, team, company facts, references, services), and the get- vs list- verbs signal different behaviors. The only soft overlap is between list-proof-points and list-references, since both surface client results and facts, though descriptions differentiate company-level claims from individual case studies.
All names follow the same meom-public-{verb}-{noun} pattern with consistent kebab-case. Verbs are used consistently: get- for a single link, list- for collections, with an optional id argument on the service/FAQ tool.
Five tools for five clearly separate public content areas is well-scoped; none is redundant and none is a wrapper around another. The set sits comfortably in the ideal 3-15 range for a read-only public-info server.
The surface covers the plausible public needs: booking contact path, team, credibility facts, case studies, and services with FAQ details. Minor gaps only, such as no free-text search across content and no way to pull the full page text beyond URLs, but agents can work around these.
Available Tools
5 toolsmeom-public-get-booking-linkGet MEOM meeting booking linkARead-onlyIdempotentInspect
Returns the link where a person can book a meeting with MEOM (HubSpot Meetings), the contact page URL and the sales email address. This tool does not book anything or send any data; the person opens the link themselves. Optionally pass a service id from list-services to get that service's own booking link, if it has one.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language: "fi" (Finnish, default) or "en" (English). Not every page has an English version. | |
| service | No | Optional service id from list-services, e.g. "geo-optimointi-verkkosivustoille". |
Output Schema
| Name | Required | Description |
|---|---|---|
| No | ||
| booking_url | No | |
| contact_page_url | No | |
| service_page_url | No | |
| service_booking_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/idempotentHint already declaring safety, the description still adds real behavioral context: nothing is booked, no data is transmitted, and the human completes the action. That directly addresses the main misuse risk (an agent assuming the tool schedules a meeting). It doesn't mention whether the returned link is language-dependent or how the service fallback behaves, which keeps it below 5.
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?
Three tight sentences: what is returned first, then the non-action clarification, then the optional parameter. Every sentence carries distinct information and nothing is repeated from the 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?
For a zero-required-parameter read tool with an output schema and full annotation coverage, the description covers the only things an agent could get wrong: that it does not book, and where the optional service id comes from. No necessary information 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 coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: the service id should come from meom-public-list-services and only yields that service's own link "if it has one" — a conditional return behavior the schema does not express. The lang parameter is left entirely to 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 first sentence names a specific verb and resource ("Returns the link where a person can book a meeting") and enumerates the other returned values (contact page URL, sales email). It is immediately distinguishable from the list-* siblings, which only enumerate data and never return a booking link.
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 clearly states the tool's scope boundary ("does not book anything or send any data; the person opens the link themselves") and routes the agent to meom-public-list-services when a service-specific link is wanted. It stops short of saying when to prefer this over the other siblings or what to do if no service has its own link, but the calling context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meom-public-list-expertsList MEOM expertsARead-onlyIdempotentInspect
Lists the MEOM team as shown on the meom.fi About page: name, job title, short bio and photo URL. Bios are in Finnish. Contact details are not included; use get-booking-link to get in touch.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language: "fi" (Finnish, default) or "en" (English). Not every page has an English version. |
Output Schema
| Name | Required | Description |
|---|---|---|
| experts | No | |
| page_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, closed-world behavior, and the description adds real value beyond them: the data source (About page), that bios are in Finnish, and that contact details are deliberately absent. The 'bios are in Finnish' claim sits awkwardly against the lang parameter, but it does not contradict any 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 tight sentences: what is returned first, the alternative routing second. No filler, nothing repeated from the schema or annotations.
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 an output schema present, the description needn't describe return values, and the one optional parameter is fully covered by the schema. The only small gap is not clarifying what the lang parameter does to bios given the 'bios are in Finnish' remark.
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 the single lang parameter is fully documented with enum values and a caveat about missing English versions, so the baseline 3 applies. The description adds no parameter guidance of its own and its statement that bios are in Finnish is slightly at odds with the en option.
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 ('Lists the MEOM team as shown on the meom.fi About page') and enumerates the returned fields (name, job title, bio, photo URL). It doesn't explicitly distinguish itself from the other list-* siblings, though the resource itself is clearly different.
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?
Gives a clear routing rule for the adjacent need: contact details are excluded, and the agent is pointed at get-booking-link instead. No explicit 'when not to use' for the other list siblings, but the context is clear enough to select correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meom-public-list-proof-pointsList MEOM facts and evidenceARead-onlyIdempotentInspect
Returns facts about MEOM as stated on meom.fi, each with the page URL it comes from and the date it was checked: company facts (founded, team, experience, specialisation), client satisfaction, service commitments, credentials and published client results. Figures that the site states inconsistently on different pages are left out. Prices are not included.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Optional group to return. |
Output Schema
| Name | Required | Description |
|---|---|---|
| proof_points | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, closed-world operation. The description adds useful behavioral context beyond annotations: each fact carries its source URL and check date, inconsistent figures are omitted, and prices are excluded. This tells the agent what data quality and coverage to expect, though it does not describe response shape beyond the 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two dense sentences with no wasted text. It front-loads the return contract—facts plus source URL and check date—and then lists the covered categories and exclusions.
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?
An output schema exists, annotations cover safety and idempotency, and the single optional parameter is fully described in the schema. The description adds source provenance, omission rules, and price exclusion, leaving it nearly complete, though it could better clarify how it differs from overlapping sibling tools.
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 the single group parameter is already documented with an enum. The description indirectly maps to those groups by naming company facts, satisfaction, service commitments, credentials, and client results, but it does not add filtering semantics or explain default behavior when the optional parameter is omitted.
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 it returns MEOM facts with source page URL and verification date, and enumerates the fact categories. It is specific about verb and resource, but does not explicitly distinguish itself from siblings such as meom-public-list-references, which may also contain client evidence.
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 tool's evidentiary nature: facts, URLs, and checked dates suggest it should be used for verified claims. However, there is no explicit when-to-use guidance, no exclusions relative to siblings, and no instruction on when to prefer list_references or list_experts instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meom-public-list-referencesList MEOM client referencesARead-onlyIdempotentInspect
Lists published client references (case studies) from meom.fi, newest first: client, page URL, summary, measured results as stated on the page (empty when the page states none), the page's own text about the client and about the project, what MEOM did, platform, industries (only when the reference is tagged with one; often empty) and tags. Client size is not available. Optionally filter by a search term, a tag such as "WordPress" or "HubSpot", or only references with results.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Optional tag name, e.g. "WordPress", "HubSpot", "Kansainvälinen". | |
| lang | No | Content language: "fi" (Finnish, default) or "en" (English). Not every page has an English version. | |
| limit | No | Maximum number of references, 1-20. Default 10. | |
| query | No | Optional search term matched against reference titles and text. | |
| has_results | No | When true, only references that state measured results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| references | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive and closed-world, so the description does not need to re-state safety. Instead it adds genuine behavioral context: results are ordered newest first, result fields can be empty ('empty when the page states none', 'often empty'), and a negative-capability note ('Client size is not available') that prevents an agent from hunting for a field that will never appear.
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 purpose, then the returned fields, then the filters. The field enumeration is dense but directly supports selection decisions; nothing is padding.
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 read-only, filterable listing tool with a full output schema and complete parameter documentation, the description covers scope, source, ordering, filter options, and data-availability caveats. An agent has everything needed to decide to call it and to predict the shape of what comes back.
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 all five parameters, including the lang enum and the limit bounds, are already fully documented. The description only recaps three filters (query, tag, has_results) and adds an example tag value, which is marginal value on top of the schema; it says nothing about the lang parameter.
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 opens with a specific verb and resource ('Lists published client references (case studies) from meom.fi') plus an ordering guarantee ('newest first'), and it enumerates the returned fields. That is enough for an agent to distinguish this from siblings such as meom-public-list-proof-points or meom-public-list-services, which cover different resources.
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 states the filtering options and their triggers ('Optionally filter by a search term, a tag such as "WordPress" or "HubSpot", or only references with results'), giving clear usage context. It stops short of naming a sibling tool or an explicit when-not-to-use condition, so it does not reach the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meom-public-list-servicesList MEOM servicesARead-onlyIdempotentInspect
Lists the services MEOM (a Finnish B2B website agency) offers, as published on meom.fi: id, name, page URL, a short summary, section headings, how the service is delivered (process text and steps) and the questions answered in the page FAQ. Pass a service id to get that service with its FAQ answers. Prices are not included; the page URL has the full description.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language: "fi" (Finnish, default) or "en" (English). Not every page has an English version. | |
| service | No | Optional service id from this list, e.g. "wordpress". Returns only that service, with FAQ answers. |
Output Schema
| Name | Required | Description |
|---|---|---|
| services | No |
TDQS
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 covered. The description adds useful behavioral context: content is published on meom.fi, prices are excluded, and the page URL contains the full description.
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 front-loaded with the core purpose and remains reasonably compact. The long enumeration of returned fields is slightly dense, though each item is relevant to understanding what the tool returns.
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 an output schema present and rich annotations, the description does not need to explain return values in detail. It still covers the key limitation (no prices) and the optional service-id behavior, leaving no important gap for an agent to call 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?
Schema description coverage is 100%, so both the lang and service parameters are already documented in the schema. The description reinforces the service-id behavior and FAQ return, but it does not add syntax or format details beyond what the schema provides.
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 opens with a specific verb and resource: lists MEOM services. It also names the domain (meom.fi) and enumerates the returned fields, making it clearly distinct from sibling tools about experts, references, proof points, and booking links.
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 explains that passing a service id returns that service with FAQ answers, which gives clear usage context. It does not explicitly compare against sibling tools, but the resource focus makes the intended use unambiguous.
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.
5 tool updates
- First observed
meom-public-get-booking-link - First observed
meom-public-list-experts - First observed
meom-public-list-proof-points - First observed
meom-public-list-references - First observed
meom-public-list-services
Related MCP Connectors
Read-only access to pavels.dev: services, case studies, articles and team of a web dev studio.
Read-only tools for codemate.com: search, articles, case studies, company and contact facts, jobs.
Services and prices of lovefengis, a software studio in Izmir, Turkey. Read-only, no auth.
Read-only access to BeevR's services, fixed-price MVP packages, case studies and articles (EN/VI).
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables read-only access to B2match event and matchmaking data through tools for events, participants, organisations, opportunities, agenda, sessions, speakers, and authenticated meeting, schedule, conversation, and notification workflows. Supports anonymous public queries and secure local token-based access.22MIT
- AlicenseNot gradedqualityBmaintenanceProvides a secured, read-only remote MCP endpoint for a single authorized GoHighLevel sub-account, exposing CRM tools such as contacts, opportunities, conversations, appointments, calendars, and notes via bearer-token authenticated requests.19 npmMIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for auditing Trafft booking data with tools to list services, employees, appointments, and customers without mutation endpoints.MIT
- AlicenseBqualityCmaintenanceEnables MCP clients to read invoices, supplier invoices, vouchers, financial reports, and AR/AP ageing from a Swedish accounting system, with optional draft-only write tools for customers, offers, orders, and unsent invoice drafts after confirmation. It also exposes many other read endpoints through a safety allowlist.261MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.