Earth616 Vocabulary Service
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Earth616 Vocabulary ServiceShow me the ontology information"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Earth616 MCP Vocabulary Service
A Model Context Protocol (MCP) server for accessing the Earth616 Defense Supply Chain and Documentation Ontology (DSCDO).
Quick Start
Option 1: Local Development
Build the service:
npm install npm run buildTest the service locally:
# Test that it starts up node dist/index.js # Should output: "Earth616 MCP Vocabulary Server running on stdio" # Press Ctrl+C to exit
Option 2: Docker Development (Recommended)
Start the full stack:
npm run docker:upThis starts:
Nginx server on port 8080 (serving example ontology files)
MCP vocabulary service (connected to nginx)
Test the stack:
# Test ontology server curl http://localhost:8080/health # View example files curl http://localhost:8080/example/View logs:
npm run docker:logsStop the stack:
npm run docker:downConnect to Claude Desktop:
Copy the configuration from
claude_desktop_config.jsonto your Claude Desktop configuration file:Mac:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Or merge with existing config:
{ "mcpServers": { "earth616-vocab": { "command": "node", "args": ["/full/path/to/earth616_mcp_vocab_service/dist/index.js"], "env": { "NODE_ENV": "development" } } } }Test in Claude Desktop:
After restarting Claude Desktop, you should be able to use these tools:
hello_vocab- Simple test toolget_ontology_info- Basic ontology informationtest_ontology_server- Test connectivity to the ontology file serverlist_example_files- List available example files
Related MCP server: BioOntology MCP Server
Current Status
This is a minimal MCP server with Docker integration. Available tools:
hello_vocab: Echo back a message (testing connectivity)
get_ontology_info: Get basic information about the Earth616 ontology
test_ontology_server: Test connectivity to the ontology file server
list_example_files: List available example ontology files
The Docker setup provides:
nginx: Serves ontology files with proper content types
MCP service: Connects to nginx and provides vocabulary access
Health checks:
/healthendpoint for service monitoring
Next Steps
Following the iterative approach outlined in VOCAB_SERVICE_PLAN.md, we'll gradually add:
File-based vocabulary term lookup
URI resolution capabilities
W3C PROF Profile navigation
Complete vocabulary dataset access
Cross-layer navigation tools
Development
Local Development
npm run dev- Watch mode for developmentnpm run build- Build TypeScriptnpm start- Run the built server
Docker Development
npm run docker:build- Build Docker imagenpm run docker:up- Start full stack (detached)npm run docker:down- Stop full stacknpm run docker:logs- View MCP service logsnpm run docker:test- Quick health check test
Development Workflow
Make changes to
src/index.tsnpm run docker:upto test with full stackUse Claude Desktop tools to test functionality
npm run docker:logsto debug issuesnpm run docker:downwhen done
The server runs on stdio and communicates with Claude Desktop via the MCP protocol. The Docker setup simulates the full production environment locally.
Available Tools
18 toolsdiscover_shapesB
Discover and list all available SHACL shapes with their URIs and descriptions
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format for shape information | summary |
| version | No | Release version (e.g. '0.1.4', 'latest') | latest |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. It implies a read-only listing but does not explicitly state safety, permissions, or side effects. Minimal disclosure beyond basic function.
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?
Single sentence, no fluff, front-loaded with verb and resource. Efficiently communicates purpose.
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?
No output schema; description partially covers return value (URIs and descriptions) but omits details on how format parameter affects output (summary, detailed, uris_only). Lacks full context for agent to interpret results.
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 baseline is 3. The description does not add extra meaning beyond what the schema already provides for format and version.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool discovers and lists SHACL shapes with URIs and descriptions, distinguishing it from siblings like get_shape_content which retrieves specific shapes.
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?
No guidance on when to use this tool vs alternatives like get_shape_content or list_shape_releases; no prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explore_vocabularyB
Get a comprehensive overview of all available Earth616 vocabulary resources, files, and capabilities
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It describes the tool as providing a 'comprehensive overview' but does not disclose what exactly the overview contains (e.g., list format, summary stats) or any limitations. The behavior is vague.
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 sentence that front-loads the action and resource. No unnecessary words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, no output schema, and low complexity, the description provides enough information for basic understanding. It could be more specific about what 'comprehensive overview' means, but it is sufficient for an agent to infer it's a broad discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and schema description coverage is 100% (trivially). Per guidelines, baseline is 3. The description adds no parameter-level detail needed.
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 provides a 'comprehensive overview' of 'all available Earth616 vocabulary resources, files, and capabilities', which is specific to the vocabulary domain. However, it does not explicitly distinguish itself from sibling tools like 'list_all_files' or 'get_ontology_info', which may have overlapping scope.
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 provides no guidance on when to use this tool versus alternatives, no conditions, exclusions, or prerequisites. It simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_layer_infoA
Get information about available CogitareLink layers and their URI mappings
| Name | Required | Description | Default |
|---|---|---|---|
| layer | No | Specific layer to get info about, or 'all' for all layers | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. While 'Get' implies a read operation, the description does not explicitly state that it is read-only, nor does it disclose any behavioral traits like potential errors or permissions. It meets the minimum but does not add extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the tool's purpose. No wasted words; front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one optional parameter), the description covers the basic purpose. However, the absence of an output schema means the agent cannot anticipate the return format. More detail on what 'information' includes would improve completeness.
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% (the only parameter is described in the schema). The tool description repeats the purpose but does not add any meaning beyond what the schema already provides about the 'layer' parameter's values and default.
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 uses a specific verb 'Get' and resource 'information about available CogitareLink layers and their URI mappings', which clearly states what the tool does. It distinguishes itself from sibling tools like get_ontology_info, list_all_files, etc.
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 lacks any guidance on when to use this tool versus alternatives. With many sibling tools such as resolve_uri, discover_shapes, and get_shape_content, the agent would benefit from explicit context on when to prefer get_layer_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ontology_infoB
Get basic information about the Earth616 ontology
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'Get basic information', which implies a read operation, but does not detail any side effects, permissions, or limitations.
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 sentence, concise and front-loaded. It could provide more detail, but it earns its place without verbosity.
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 no parameters and no output schema, the description is minimal. It does not explain what 'basic information' entails, leaving the agent to guess the return format or content. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, and schema description coverage is 100%. Baseline for 0 parameters is 4, and the description adds no param info since none exist.
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 uses a specific verb ('Get') and resource ('basic information about the Earth616 ontology'). It clearly states what the tool does, but among siblings like 'get_layer_info' and 'resolve_term', it does not differentiate its scope.
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?
No guidance is provided on when to use this tool versus alternatives such as 'get_layer_info' or 'resolve_uri'. There is no mention of prerequisites, typical use cases, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shape_contentC
Get the full content of a specific SHACL shape file with proper dereferencing
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Output format for the shape content | turtle |
| version | No | Release version (e.g. '0.1.4', 'latest') | latest |
| shape_name | Yes | Name of the shape (e.g. 'DocumentShape', 'EventShape') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must cover behavioral traits. It mentions 'proper dereferencing' but does not explain what that entails (e.g., resolving unresolved references, performance impact). It does not state side effects, read-only nature, or error behavior.
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, front-loaded sentence with no unnecessary words. It efficiently communicates the core purpose, though it could benefit from a bit more structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should hint at return format or behavior. It lacks details about the response structure, error conditions, or any pagination/truncation. For a content retrieval tool, this is insufficient for an agent to reliably use it.
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 parameters are well-documented in the schema itself. The description adds no new parameter-specific information beyond the schema, which is acceptable per baseline guidelines for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'SHACL shape file', distinguishing the tool from sibling read_shape_file which likely reads a raw file without the mentioned 'proper dereferencing' feature. However, it does not explicitly differentiate from other similar tools.
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 provides no guidance on when to use this tool versus alternatives like read_shape_file or list_shape_releases. No context about prerequisites or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hello_vocabB
Simple hello world tool for Earth616 vocabulary service
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | A message to echo back |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It describes the tool as 'hello world' and the parameter description indicates 'echo back', but the description itself does not explicitly state the behavior. For a simple tool, this is adequate but lacks richness.
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 sentence with no waste. It is front-loaded and efficiently communicates the tool's nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple hello world tool with one parameter and no output schema, the description is reasonably complete. However, it could mention the return value format, though this is not critical.
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% with the parameter 'message' described as 'A message to echo back'. The tool description adds no additional parameter context beyond the schema, meeting the baseline for high coverage.
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 'Simple hello world tool for Earth616 vocabulary service', which clearly identifies it as a basic test tool. It is distinct from sibling tools that handle exploration, listing, reading, and resolution.
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?
No guidance is provided on when to use this tool versus siblings. The description does not mention prerequisites, exceptions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_all_filesB
List all available files across ontologies, contexts, shapes, and examples with descriptions
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Release version (e.g. '0.1.4', 'latest') | 0.1.4 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral traits. It does not disclose any side effects, authorization needs, or rate limits. The operation appears read-only but this is not explicitly stated, leaving ambiguity.
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 sentence that is front-loaded with the key action and scope. No redundant or extraneous information, earning its place efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no required parameters and no output schema, the description sufficiently covers the listing functionality across multiple categories. It omits potential details like pagination or response format, but for a simple list tool this is adequate.
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% with one parameter that already has a description. The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
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 uses a specific verb 'List' and clearly identifies the resource 'all available files' with a defined scope 'across ontologies, contexts, shapes, and examples with descriptions'. It distinguishes from siblings like list_example_files by being a broad listing tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus sibling tools (e.g., list_example_files). The description only states what it does, leaving the agent to infer the appropriate context without clear when-not-to-use or alternative indications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_context_releasesA
List available JSON-LD context release versions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without additional behavioral context. It does not disclose whether the operation is read-only, if it requires authentication, or any other traits beyond the basic listing function.
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, concise sentence that efficiently communicates the tool's purpose with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless listing tool, the description is minimally adequate. However, lacking an output schema and any behavioral details, it leaves the response format unknown. Given that sibling tools list similar resources, a slightly more descriptive phrase could improve completeness.
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?
With zero parameters and 100% schema description coverage, the description need not add parameter details. The baseline for parameterless tools is 4, and the description meets that standard.
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?
Description clearly states the tool lists 'available JSON-LD context release versions', specifying both the action and the resource. Among sibling tools, it uniquely identifies context releases, distinguishing it from other list tools like list_ontology_releases or list_shape_releases.
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?
No guidance on when to use this tool versus similar listing tools (e.g., list_ontology_releases, list_shape_releases). The description does not provide context for selection or mention any prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_example_filesB
List available example ontology files
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It merely states the action without detailing effects, permissions, or output behavior. The read-only nature is implied but not explicit.
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?
Single sentence with no unnecessary words. Perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is minimally adequate. However, it does not clarify what 'example' or 'available' means, nor what the return format is. Slightly lacking for a tool with many siblings.
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?
There are no parameters, so schema coverage is 100% trivially. The description does not need to add parameter details. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'example ontology files'. It is specific enough to distinguish from siblings like 'list_all_files', but does not explicitly differentiate.
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?
No guidance on when to use this tool versus alternatives. Siblings include similar list tools, but no criteria are provided for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ontology_releasesB
List available ontology release versions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'list', implying a read operation, but provides no details about behavior such as ordering, pagination, or whether all releases are returned at once. No annotations supplement this.
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, clear sentence with no extraneous words. It is maximally concise while still conveying the core purpose.
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?
The description lacks information about the return format (e.g., version strings, dates). Since no output schema is provided, the description should compensate, but it does not. The tool is simple, but completeness is insufficient for an agent to know what to expect.
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?
There are no parameters, so the schema is fully covered (100% coverage). The description adds minimal value by specifying the resource type, but does not enhance parameter understanding since none exist. Baseline 3 applies per the high schema coverage rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the specific resource 'available ontology release versions', distinguishing it from siblings like list_context_releases and list_shape_releases by specifying the ontology context.
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?
No guidance on when to use this tool versus alternatives (e.g., list_context_releases) or any prerequisites. The description assumes the agent knows when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_shape_releasesA
List available SHACL shape release versions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits but only says 'List available...' without detailing what 'available' means, ordering, or pagination. For a simple list tool, this is minimally adequate but insufficiently transparent.
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 concise sentence with no wasted words, front-loading the purpose effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should clarify what the tool returns (e.g., version strings) and any default behavior. It is adequate for a simple parameterless list but leaves ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is trivially 100%. Per guidelines, baseline is 4 for no parameters, and the description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('SHACL shape release versions'), distinguishing this tool from siblings like list_ontology_releases and list_context_releases.
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?
No guidance on when to use this tool versus alternatives, or any context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_context_fileB
Read a specific JSON-LD context file from a release
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Release version (e.g. '0.1.4', 'latest') | 0.1.4 |
| filename | Yes | Context file to read (e.g. 'context-base.jsonld', 'context-documents.jsonld') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full weight. It only states 'read', which implies a safe operation, but does not disclose any behavioral traits such as idempotency, error handling, or whether the file content is returned as text or parsed.
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 sentence with no wasted words. It is front-loaded with the core purpose.
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 no output schema and no annotations, the description should explain the return value and potential errors. It only states what the tool reads, not what the agent receives in response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the parameters are already documented. The description adds no additional meaning 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 clearly states the verb 'Read', the resource 'JSON-LD context file', and the context 'from a release'. It distinguishes from sibling tools like read_shape_file or read_example_file.
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 implies usage for reading context files, but lacks explicit guidance on when to use this tool versus alternatives (e.g., read_shape_file). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_example_fileB
Read the contents of a specific example file
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Name of the file to read (e.g. 'package.json', 'index.ts') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It states 'Read the contents' but does not disclose whether this operation is safe/idempotent, any size limits, or what happens if the file does not exist. A basic read operation still benefits from such context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is clear and to the point, with no wasted words. It effectively communicates the core purpose.
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?
Despite low complexity, the description does not specify the return format (e.g., string, JSON) or whether the contents are returned as raw text. Since no output schema exists, the description should clarify what the agent can expect. Currently it only says 'read the contents', which is vague.
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% with one parameter that has a description. The description adds examples ('package.json', 'index.ts'), providing concrete usage guidance beyond the schema definition.
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?
Description clearly states 'Read the contents of a specific example file' with a specific verb and resource. However, it does not explicitly distinguish from sibling tools like list_example_files, which lists files rather than reading contents.
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?
No guidance is provided on when to use this tool versus alternatives. Siblings include list_example_files, read_ontology_file, etc., but the description does not specify that this tool is for reading a single file's contents while others are for listing or reading different file types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_ontology_fileB
Read a specific ontology file from a release
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Release version (e.g. '0.1.4', 'latest') | 0.1.4 |
| filename | Yes | Ontology file to read (e.g. 'merged.ttl', 'index.ttl', 'index-profile.ttl') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only states the basic action without any details about side effects, required permissions, rate limits, or return format. The description lacks transparency for a read operation, e.g., whether it is safe and idempotent.
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 sentence, concise and to the point. It efficiently communicates the tool's purpose with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 simple parameters, no output schema), the description is adequate but lacks context such as what happens if the file does not exist, whether there are any notable defaults (version defaults to '0.1.4'), or how the released concept is defined. It is minimally complete but leaves 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 coverage is 100% with descriptions for both parameters ('version' and 'filename'). The tool description adds minimal extra meaning beyond the schema, as it only reinforces that the file is an ontology file from a release. Baseline for high coverage is 3.
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 'Read a specific ontology file from a release' uses a specific verb 'read' and clearly identifies the resource (ontology file from a release). It distinguishes this tool from sibling tools that read other file types (e.g., examples, contexts, shapes) or list files.
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 provides no guidance on when to use this tool versus alternatives like 'read_example_file' or 'get_ontology_info'. It does not state when not to use it or mention any prerequisites. The usage context is entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_shape_fileA
Read a specific SHACL shape file from a release
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Release version (e.g. '0.1.4', 'latest') | 0.1.4 |
| filename | Yes | Shape file to read (e.g. 'DocumentShape-v1.jsonld', 'WorkflowShape-v1.jsonld') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates a non-destructive read operation, but lacks details on authorization, error handling, or response format. This is minimally adequate but lacks depth.
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 concise sentence with no superfluous words. It immediately conveys the main purpose without any 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?
The description is sufficient for a simple read operation with two parameters, but it lacks any mention of output format or behavior on error. Considering the presence of sibling tools for similar operations, additional context would improve completeness.
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% with both parameters already described in the schema. The tool description adds no additional semantic meaning beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (read), the resource (SHACL shape file), and the scope (from a release). It effectively distinguishes from sibling tools like 'list_shape_releases' or 'discover_shapes' which have different purposes.
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 provides no guidance on when to use this tool vs alternatives. It does not mention prerequisites, when not to use it, or contrast with similar sibling tools such as 'discover_shapes' or 'get_shape_content'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_termB
Resolve a vocabulary term to its definition, context, and related information
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Term name (e.g. 'Event', 'SupplyChainEvent') or full URI | |
| format | No | Output format for the term definition | summary |
| include_hierarchy | No | Include class hierarchy and property relationships |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits, but it only mentions the output type (definition, context, related information). It does not indicate if the operation is read-only, handles errors like missing terms, or has dependencies, which is insufficient for safe invocation.
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, front-loaded sentence that efficiently communicates the tool's purpose without any redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description is too brief. It does not explain what the output looks like, how parameters affect results, or how it relates to sibling tools like 'resolve_uri' or 'explore_vocabulary'.
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?
Input schema description coverage is 100%, and each parameter has a clear description. The tool description adds minimal value beyond the schema, but the overall context ('definition, context, and related information') helps frame the output. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'resolve' and the resource 'vocabulary term', and specifies that it retrieves definition, context, and related information. This distinguishes it from sibling tools like 'explore_vocabulary' and 'get_ontology_info', which likely handle broader scopes.
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 lacks any guidance on when to use this tool versus alternatives. No context about prerequisites, scenarios, or when not to use it is provided, leaving the agent to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_uriB
Resolve a persistent URI to its deployment URL with content negotiation
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | Persistent URI to resolve (e.g. 'https://vocab.earth616.local/ont/Event') | |
| accept | No | Accept header for content negotiation (e.g. 'text/turtle', 'application/ld+json', 'text/html') | text/turtle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must fully disclose behavior. It only states the core action without mentioning side effects, authentication, rate limits, or error handling. The agent is left uninformed about potential risks or constraints.
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, well-crafted sentence that front-loads the key action and outcome. No unnecessary words, and the structure is optimal for quick agent comprehension.
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?
The description covers the core functionality but lacks details on return values, error conditions, or behavior with invalid URIs. Given the simplicity of the tool (2 parameters, no output schema), this may be minimally viable but leaves 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 coverage is 100% with descriptions for both parameters. The description adds context that the result is a deployment URL and that content negotiation is used, but this does not significantly deepen understanding beyond the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves a persistent URI to a deployment URL using content negotiation. The verb 'resolve' and resource 'persistent URI' are specific, and it distinguishes from sibling tools like 'resolve_term' which likely resolves terms differently.
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?
No guidance on when to use this tool versus alternatives. For example, it does not indicate when to prefer 'resolve_uri' over 'resolve_term' or 'explore_vocabulary', leaving the agent to guess the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_ontology_serverA
Test connectivity to the ontology file server
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavioral traits. Only states 'test connectivity' with no details on what happens (e.g., connection attempt, success/failure status, side effects, auth needs). Minimal disclosure.
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?
Single sentence, no wasted words. Front-loaded with essential action and target. Ideal conciseness for a trivial tool.
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?
Tool has no parameters, no output schema, and a simple purpose. Description is sufficient for a basic connectivity test, though absence of behavioral details like return format or side effects prevents a perfect score.
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?
No parameters (0 count), so baseline score 4 per rubric. Schema coverage 100% renders parameter documentation unnecessary.
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?
Description clearly states it tests connectivity to the ontology file server. Verb 'test connectivity' and resource 'ontology file server' are specific, and the tool is distinct from sibling tools that list files or resolve terms.
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?
No guidance on when to use this tool versus alternatives. Lacks context such as prerequisites, when not to use, or conditions that warrant using sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have clear distinct purposes, but list_all_files overlaps with specific list functions and some read functions are similar across file types, causing minor potential confusion.
Tool names follow a consistent verb_noun snake_case pattern for the most part, though 'hello_vocab' uses a non-verb greeting, slightly breaking the pattern.
18 tools is reasonable for a vocabulary service covering multiple file types and operations, though slightly on the higher side; each tool seems justified.
The tool set covers browsing and reading of ontologies, contexts, shapes, and URIs, but lacks a tool to list all vocabulary terms, leaving a minor gap in discoverability.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Hosted MCP server for finding authoritative primary data sources and official portals.
MCP server for The Chancery Lane Project's climate-aligned contract clause knowledge graph.
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseBqualityFmaintenanceMCP Server for the Marvel Developer API, enabling interaction with characters and comics data.72514MIT
- FlicenseBqualityDmaintenanceA production-ready Model Context Protocol (MCP) server that provides comprehensive access to the BioOntology API for searching, annotating, and exploring over 1,200 biological ontologies.109
- AlicenseNot gradedqualityDmaintenanceMCP server that provides semantic search, graph query, and keyword search tools for interacting with DocSmith's knowledge graph and documentation.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP servers for querying Brick and 223P ontologies, enabling abbreviation expansion, term/property lookup, and definition retrieval.5BSD 3-Clause
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LA3D/mcp_vocabulary_service'
If you have feedback or need assistance with the MCP directory API, please join our Discord server