VISEON Ask
Server Details
VISEON's Schema.org knowledge graph: products, services, people, FAQs and terms, from viseon.io
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- VISEONIO/VISEONIO
- GitHub Stars
- 1
TDQS
Scored across 7 tools
The discovery tools (find_by_type, fuzzy_find_and_traverse, search_content) and the relationship tools (get_entity, query_relationships, traverse_path) each overlap somewhat, but descriptions clearly delineate exact-type vs natural-language vs substring search, and full-entity vs single-subject vs multi-hop traversal. Boundaries are mostly clear, though an agent may hesitate between the three search variants and the three relationship tools at the edges.
All names are snake_case with a leading verb (find_, get_, query_, search_, traverse_), giving a predictable pattern. Minor deviations: multi-word constructions like fuzzy_find_and_traverse and find_by_type mix conjunction/prepositional styles rather than a strict verb_noun form.
Seven tools is well-scoped for a knowledge-graph query service, with each tool covering a distinct access pattern (type lookup, fuzzy search, entity detail, relationship listing, path traversal, verbatim citation, text search). No tool feels redundant or missing from a count standpoint.
The surface covers the read/query lifecycle well: discovery, full entity retrieval, relationship querying, multi-hop traversal, and verbatim citable passages. Minor gaps exist (e.g. no explicit schema/type enumeration or aggregation/statistics tool), but core graph exploration and citation workflows are fully supported.
Available Tools
7 toolsfind_by_typeBInspect
Find all entities of a specific schema.org type (exact type name, for example Service, Person, DefinedTerm).
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It does not state that this is a read-only lookup, nor does it mention result-set size, pagination, or whether traversal is involved (a real question given the fuzzy_find_and_traverse sibling).
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?
A single front-loaded sentence with no padding; the core verb and constraint come first. It is efficient, though the parenthetical could be trimmed without loss.
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, so return values need not be explained, and the single required parameter is addressed. However, for a lookup tool sitting beside a fuzzy variant, the description omits the disambiguation an agent needs to pick 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?
One parameter at 0% schema coverage, so the description must compensate. It does add meaning by specifying the value should be an exact schema.org type name and gives examples (Service, Person, DefinedTerm), but it does not address casing, namespaces, or multi-type behavior.
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 (Find) and resource (all entities of a schema.org type), and the parenthetical clarifies the expected value domain. It does not name or distinguish itself from siblings like fuzzy_find_and_traverse, leaving the exact-vs-fuzzy distinction to be inferred.
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 phrase 'exact type name' implies a counterpart that handles inexact matching, but no alternative is named and no when-to-use guidance is given. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fuzzy_find_and_traverseAInspect
Find and rank schema.org entities from natural language, tolerating typos and alternative names. Returns bounded entity context with relationship IDs; use get_entity for full detail. The optional detail argument is summary (for each hit: id, type, name, url, the start of the description and the match score) or full (every property and relationship). A client on protocol 2026-07-28 or later gets summary unless it asks for full; an older client gets full unless it asks for summary.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| limit | No | ||
| query | Yes | ||
| detail | No | ||
| weights | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the bounded return shape (id, type, name, url, description start, match score), that relationship IDs are included, and the protocol-version-dependent default for the detail argument, which the schema does not encode. It omits permissions, error behavior, and how the 'traverse' half of the name actually works.
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 sentences, front-loaded with purpose, then return shape, then the argument semantics; no filler. The final sentence is dense but each clause is load-bearing because it encodes defaults absent 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?
An output schema exists so return values need not be re-explained, and the description covers the detail modes well. However, for a 5-parameter tool with nested objects, the weights parameter and the traversal implied by the tool's name are unaddressed, leaving the agent under-informed for non-default invocations.
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 0%, so the description must carry parameter meaning, and it only fully explains 'detail' (summary vs full contents). 'type', 'limit', and especially 'weights' (a nested predicates/entityTypes object) are left entirely unexplained, leaving a large semantic gap.
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+resource ('Find and rank schema.org entities from natural language') plus the fuzzy-matching behavior ('tolerating typos and alternative names'), which cleanly separates it from the exact-type sibling find_by_type. It also names the sibling get_entity and explains why you would call that instead.
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?
Explicitly routes the agent: 'use get_entity for full detail' when bounded context with relationship IDs is not enough, and explains which detail mode a caller will get. It does not address when to prefer find_by_type or traverse_path over this tool, so guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_citable_passagesAInspect
Return passages of the VISEON articles word for word, each with a link to the passage itself, the article it is part of and how much of the query it holds, so an answer can quote and cite them. query: the distinctive words asked about (a name, a term, a phrase the article uses). article: optional, an article's @id, page url or title, to look inside that article only. limit: 1 to 5 passages, default 3. The text is verbatim and unaltered: no model has read or paraphrased it. It matches the article's own words, so ask in the words the article would use; for what the graph says about an article (description, author, date, topics) use fuzzy_find_and_traverse and get_entity.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| article | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does disclose a real trait: the text is verbatim and unaltered, with no model paraphrasing, and it matches only the article's own wording (failure mode for loose queries). It does not state that the operation is read-only, mention permissions, pagination, or empty-result behavior, but the read-only nature is strongly implied by 'Return' plus citation framing.
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?
Purpose and output shape are front-loaded, then parameters, then the verbatim caveat and alternative routing. Nearly every sentence earns its place, though 'word for word' and 'verbatim and unaltered' restate the same guarantee, making the middle slightly denser than needed.
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, so return values need not be spelled out, and the three parameters are each explained despite 0% schema coverage. Coverage is near-complete for a retrieval tool; only edge behavior (no matches, article not found) is unaddressed.
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 0%, so the description must compensate, and it does for all three parameters: 'query' is the distinctive words asked about (with examples of what counts), 'article' is optional and accepts an @id, page url, or title, and 'limit' is bounded to 1-5 with a default of 3. This adds meaning the bare schema types do not.
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 states a specific verb and resource ('Return passages of the VISEON articles word for word') and immediately defines what each passage carries (link, article, query coverage) and why (so an answer can quote and cite). It also distinguishes itself from retrieval-of-graph-metadata siblings by naming them. An agent can tell what this tool produces without opening the schema.
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 gives a clear routing rule: use this for verbatim article text, and use fuzzy_find_and_traverse / get_entity 'for what the graph says about an article.' It also advises phrasing the query 'in the words the article would use.' The gap is the overlapping sibling search_content, which is never mentioned or differentiated, and no explicit when-not condition beyond graph metadata.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityAInspect
Get complete schema.org entity data by URL (its @id), including relationships the graph holds in either direction.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that the result includes relationships held in either direction, which is useful behavioral context beyond the schema. But it omits any mention of read-only nature, authentication, error handling, or rate limits, leaving important gaps for a tool with zero annotation coverage.
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?
One compact sentence that front-loads the action and resource, then adds scope. Every phrase earns its place, including the parenthetical clarification and the bidirectional-relationship note.
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, so return values need not be described. For a single-parameter read tool with an output schema, the description covers purpose and result scope adequately. The main missing piece is routing guidance relative to sibling tools, which is scored separately.
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 0% for the single url parameter, so the description must compensate. It clarifies that the URL argument is the entity's '@id', a semantic detail beyond the bare string type. That is a helpful addition but lacks format or example details, so it only partially compensates.
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 states a specific verb (Get) and resource (complete schema.org entity data), and scopes it to lookup by URL/@id, which implicitly distinguishes it from type-based or fuzzy siblings. However, it never explicitly names or contrasts with the alternative tools, so it falls short of a 5.
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 phrase 'by URL (its @id)' – an agent can infer this tool is for direct lookups when an identifier is known. But there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives like fuzzy_find_and_traverse or find_by_type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_relationshipsBInspect
Find entities connected to a subject: one row per property value, with object_type 'uri' for links to other entities and 'literal' for values. Optionally filter by predicate.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | ||
| predicate | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the output semantics ('one row per property value', object_type 'uri' vs 'literal'), but says nothing about permissions, result limits, or whether traversal is recursive, and an output schema already covers the return shape.
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 compact clauses with no filler; the core behavior and the optional filter are front-loaded. Slightly compressed, but nothing is wasted.
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 2-parameter query tool with an output schema, the description covers the essentials of what is returned and the optional filter, but it leaves parameter formats and sibling disambiguation unaddressed. Adequate but with clear gaps.
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 0%, so the description must compensate. It clarifies that predicate is an optional filter, but subject is only implied to be the starting entity and no value format (IRI vs label) is given for either 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?
States a specific verb and resource ('Find entities connected to a subject') and even clarifies the result shape (one row per property value, uri vs literal). It is clear on its own, but it never differentiates itself from siblings like get_entity or find_by_type, so an agent must infer which is appropriate.
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 only usage cue is that predicate is an optional filter; there is no statement of when to reach for this tool versus find_by_type, get_entity, fuzzy_find_and_traverse, or search_content. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_contentAInspect
Substring search across the text of every entity; returns up to 20 entity URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| items | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two useful behaviors: the search spans every entity and results are capped at 20 entity URLs. It omits case sensitivity, whether the match is literal or pattern-based, and any permission or performance characteristics.
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?
A single front-loaded sentence with the scope and result cap stated immediately; every clause earns its place with no filler.
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, so return values need not be detailed, and the description still helpfully notes the URL shape and the 20-item cap. For a one-parameter read tool this is close to sufficient; only match semantics (literal vs pattern, case handling) are 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 0%, so the description must compensate for the single required 'query' parameter. It implies the parameter is a literal substring rather than a regex or fuzzy term, which is genuinely useful, but gives no format, length, or case-sensitivity details.
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 (substring search) and resource (text of every entity), which is concrete and distinct from the more structural siblings like find_by_type and query_relationships. However, it never names an alternative or explains the boundary versus fuzzy_find_and_traverse, so the differentiation is inferred rather than stated.
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 phrase 'substring search' implies when this tool applies (exact/literal text matching) as opposed to the fuzzy sibling, but there is no explicit when-to-use or when-not guidance and no mention of prerequisites or fallbacks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
traverse_pathAInspect
Walk the knowledge graph from one entity in a single call. start: an entity @id or a name (resolved like fuzzy_find_and_traverse). path: one entry per hop, each a predicate or a list of predicates; prefix a predicate with ^ to follow it backwards (e.g. ^worksFor finds who works for an organisation). Literal values (dates, names, emails) named in a hop are returned in values. Example, who founded the company Hamza works for and when: start "Hamza Ashraf", path [["worksFor"], ["founder", "foundingDate"]]. Without path, follows every link for maxHops (1-3, default 2) and returns links only, with a budget of 100 rows shared between hops, so hubs are cut short rather than hiding later hops (use a path to go deeper: a path call may return up to 400 rows). Returns edges [{hop, from, predicate, to, to_name, to_types}], values [{hop, subject, subject_name, predicate, value}], truncated and truncated_hops (the hops that hit a limit).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| start | Yes | ||
| maxHops | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| hops | No | |
| edges | Yes | |
| start | Yes | |
| values | Yes | |
| truncated | No | |
| truncated_hops | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does so well: it discloses the 100-row shared budget across hops, the hub-truncation behavior, the 400-row ceiling for path calls, and the truncated/truncated_hops signals. It omits read-only/auth expectations and any error behavior, keeping it from a 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?
The description is a single dense paragraph, but it is front-loaded with the core action and each clause carries information (semantics, example, default behavior, return shape). It is long for a field description, though not padded.
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 complex multi-hop traversal tool with no annotations, the description covers inputs, modes, limits, and return shape, and an output schema exists so return values did not need spelling out. It lacks any permission/auth or error-handling context, so it is not fully complete.
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 0%, so the description must compensate for all three parameters, and it does: start (entity @id or name resolved like fuzzy_find_and_traverse), path (one entry per hop, predicate or list of predicates, ^ prefix for reverse edges), and maxHops (1-3, default 2). It even documents the default no-path behavior, adding meaning well beyond the bare 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 gives a specific verb and resource ('Walk the knowledge graph from one entity in a single call') and the 'single call' framing implies multi-hop traversal versus the single-lookup siblings. It does not explicitly distinguish itself from query_relationships or get_entity, so it stops short of a 5.
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 explains the two operating modes and when each applies: without a path it follows every link for maxHops and returns links only; with a path you can go deeper. It also names fuzzy_find_and_traverse as the resolution reference, but never states when to prefer this tool over sibling tools like query_relationships.
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.
2 tool updates
- Changed
fuzzy_find_and_traverse1 field changed- added
Input schema / properties / detailAdded value: +{ + "enum": [ + "summary", + "full" + ], + "type": "string" +}
- Added
get_citable_passages
1 tool update
- Added
traverse_path
2 tool updates
- Changed
fuzzy_find_and_traverse6 fields changed- removed
Input schema / properties / limit / descriptionRemoved value: -"Optional: maximum ranked entities to return (default 5, maximum 10)" - removed
Input schema / properties / query / descriptionRemoved value: -"Search terms (e.g., \"AI optimisation services\", \"schema markup articles\")" - removed
Input schema / properties / type / descriptionRemoved value: -"Optional: filter by entity type (Organization, Service, Article, Person, WebPage, Question)" - removed
Input schema / properties / weights / descriptionRemoved value: -"Optional: Custom weight multipliers for ranking" - removed
Input schema / properties / weights / properties / entityTypes / descriptionRemoved value: -"Entity type multipliers (e.g., {\"Service\": 2.0, \"Article\": 1.0, \"Question\": 2.0})" - removed
Input schema / properties / weights / properties / predicates / descriptionRemoved value: -"Predicate weight multipliers (e.g., {\"name\": 3.0, \"about\": 1.5})"
- Changed
get_entity1 field changed- removed
Input schema / properties / url / descriptionRemoved value: -"Full URL of the entity"
5 tool updates
- First observed
find_by_type - First observed
fuzzy_find_and_traverse - First observed
get_entity - First observed
query_relationships - First observed
search_content
Related MCP Connectors
AI-operated knowledge-graph CMS for business websites: entities, pages, blocks, media, domains.
Full AI visibility audits: schema, citations, agentic readiness, agent journeys, WordPress deploys.
AI knowledge graph for architecture, portfolio, and digital strategy management.
The Marketing Data Layer for AI Agents - SEO, Search Console, and Analytics
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables users to search, rank, and compare Google Knowledge Graph entities, audit knowledge panel readiness with Wikidata connections, and generate JSON-LD schema for brands or people.42MIT
- AlicenseNot gradedqualityBmaintenanceMCP server enabling AI assistants to explore schema.org types, generate JSON-LD examples, validate structured data, and navigate the complete ontology with fuzzy matching and caching.10 npm23MIT
- AlicenseNot gradedqualityCmaintenanceStructured knowledge for AI agents — Wikipedia, Wikidata, Wiktionary and growing as clean JSON. 1.9M searchable. Free, no auth.MIT
- AlicenseAqualityAmaintenanceSalesforce AgentForce as a traversable MCP knowledge graph. 40 nodes covering Einstein Trust Layer, Agent Topics, Actions, Data Cloud, and Resolution Criteria. 11x fewer tokens than RAG. Free: uvx ckg-agentforce941 PyPI1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.