infocepo-infra-mcp
This MCP server provides access to infocepo.com infrastructure, enabling interaction with LLM APIs, ChromaDB, Docker registry, S3 storage, and wiki-based service discovery.
AI/LLM Capabilities:
Chat completions with multiple models (
llm_chat).Image understanding/OCR (
llm_vision).Speech-to-text transcription (
stt_transcribe).Text-to-speech synthesis (
tts_speech).Image generation (
image_generate).Text embeddings for RAG (
embeddings_create).Long text summarization (
summary_text).Speaker diarization (
diarize_audio).
Vector Database (ChromaDB):
List collections (
chromadb_collections), perform semantic search (chromadb_search), and upsert documents with auto-embedding (chromadb_upsert).
Storage & Registry:
Manage S3-compatible storage: list, upload, and download objects (
s3_list,s3_upload,s3_download).List Docker images from the private registry (
registry_list).
Infrastructure Discovery & Wiki Access:
List all infrastructure services with status and endpoints (
infra_list_services), and refresh service discovery (infra_refresh_discovery).Read wiki pages (
infra_read_wiki) and parse their wikitext into structured sections (infra_parse_wiki).
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., "@infocepo-infra-mcpsearch chromadb for recent AI agent documentation"
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.
infocepo-infra-mcp
MCP server for infocepo infrastructure services. The HTTP server exposes the
current, stateless Streamable HTTP transport at /mcp, legacy SSE at /sse,
and an OpenAPI facade for diagnostics and direct tool calls.
Requirements
Linux
Python 3.11 or newer
The same installation works on x86_64 H100/DGX and aarch64 DGX Spark hosts. This project does not install or pin CUDA drivers.
Related MCP server: openclaw-tools-mcp
Install and run
./install.sh # safe to repeat; also upgrades dependencies
cp .env.example .env
# Edit .env, then export it into the process environment:
set -a; source .env; set +a
./run.sh 0.0.0.0 8085 # omit PORT to select a free portThe virtual environment is stored at ~/venv/infocepo-infra-mcp, or at
$VENV_DIR when that variable is set. run.sh stays in the foreground and
handles termination normally. It starts infocepo_mcp.sse_server, not the
stdio entry point.
Confirm that the server is running:
curl http://localhost:8085/healthWhen API_TOKEN is configured, connect an MCP client with either supported
authentication header:
URL: http://localhost:8085/mcp
Authorization: Bearer <API_TOKEN>X-API-Key: <API_TOKEN> is accepted as an alternative. The health endpoint is
always public. If API_TOKEN is unset, all endpoints are public; this is useful
for local development but is not recommended on an exposed interface.
systemd example
Because .env is loaded by the Python process but shell variables in it are not
automatically exported, use systemd's EnvironmentFile support:
[Service]
WorkingDirectory=/path/to/infocepo-infra-mcp
EnvironmentFile=/path/to/infocepo-infra-mcp/.env
ExecStart=/bin/bash /path/to/infocepo-infra-mcp/run.sh 127.0.0.1 8085
Restart=on-failureConfiguration
The two API keys have different purposes:
API_TOKENoptionally protects this server's MCP, SSE, and OpenAPI routes.INFOCEPO_API_KEYauthenticates calls from tools to the upstream infocepo LLM, audio, image, and diarization services. Tools that do not use those services can run without it.
Additional credentials enable service-specific tools:
Variable | Used by | Required |
|
| For ChromaDB tools |
|
| For S3 tools |
|
| For S3 tools |
|
| Optional; defaults to |
|
| For registry access |
| All upstream credentials | Optional JSON alternative to environment variables |
| HTTP listener | Optional; defaults to |
| HTTP listener | Optional; defaults to |
| Installer and run script | Optional virtual-environment location |
The credentials JSON file accepts api_key, chroma_token, s3_access_key,
s3_secret_key, registry_user, and registry_password keys. Environment
variables are loaded first; values present in the JSON file override them.
HTTP endpoints
Endpoint | Methods | Purpose |
|
| Public liveness response and tool count |
|
| Stateless Streamable HTTP MCP transport |
|
| Legacy SSE MCP connection |
|
| Legacy SSE client messages |
|
| OpenAPI description of direct tool routes |
|
| Redirect used by Open WebUI probes |
|
| Invoke one tool through the OpenAPI facade |
Except for /health and CORS preflight requests, all endpoints require
API_TOKEN when it is configured.
Tools
The server currently publishes 19 tools:
Area | Tools |
Wiki discovery |
|
LLM and vision |
|
Audio |
|
Images and embeddings |
|
ChromaDB |
|
Summary |
|
Registry |
|
S3 |
|
The four discovery tools all use the same MediaWiki API. A failure reported by
all four therefore normally identifies one shared wiki upstream/path problem;
it does not show that the LLM, audio, image, ChromaDB, registry, or S3 tools
are unavailable. Discovery responses include an upstream object containing
the failing URL, HTTP status when available, and failure kind.
Open WebUI and MCPO
MCPO operations have names such as call_infra_list_services. The call_
prefix belongs to MCPO's generated OpenAPI operation and is not part of the MCP
tool name (infra_list_services).
Start the provided bridge with:
docker compose -f docker-compose.mcpo.yml up -d
docker compose -f docker-compose.mcpo.yml logs -f mcpoThe sample compose file exposes MCPO at http://localhost:8000; its OpenAPI
document is at /openapi.json and Swagger UI is at /docs. The checked-in
mcpo-config/config.json connects MCPO to http://host.docker.internal:8085/mcp.
If the MCP server has API_TOKEN set, add the same bearer token to that file's
headers object, for example:
"headers": {
"Authorization": "Bearer replace-me"
}MCPO_API_KEY is conceptually separate from API_TOKEN: it protects MCPO's
generated OpenAPI API and is configured on the MCPO process/client. The sample
compose file currently passes its MCPO key directly with --api-key.
Check each layer independently:
curl http://localhost:8085/health
curl -H "Authorization: Bearer $API_TOKEN" http://localhost:8085/openapi.json
curl -H "Authorization: Bearer $MCPO_API_KEY" http://localhost:8000/openapi.json
curl "https://infocepo.com/wiki/api.php?action=query&titles=Main_Page&format=json"Other entry points
The package also installs infocepo-mcp, the stdio transport implemented by
infocepo_mcp.server, and infocepo-mcp-http, an alias for the HTTP server.
For normal network operation, prefer run.sh or infocepo-mcp-http.
Tests
uv run pytestAvailable Tools
19 toolschromadb_collectionsB
List all ChromaDB collections in the vector database.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment: prod (default), lab |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description accurately implies a read-only operation. However, it does not mention potential performance impact or what exactly is returned (e.g., an array of names). Adequate but not comprehensive.
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 appropriately concise for a simple list operation, though could benefit from a brief structure with return value hint.
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's simplicity (1 optional param, no output schema), the description mostly suffices. However, it omits the return format (e.g., list of collection objects), which is a gap for an agent without output schema.
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 only parameter 'env' is fully described in the input schema with enum values and default. The description adds no additional meaning beyond the schema, so baseline 3 applies.
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 ('list all collections') and the resource ('ChromaDB collections in the vector database'). It distinguishes from siblings like chromadb_search and chromadb_upsert, which target within collections or modify data.
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. It does not mention that this is the initial step before search/upsert, or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chromadb_searchB
Search ChromaDB collections with semantic/vector similarity search.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment: prod (default), lab | |
| query | Yes | Search query (text, not vector — will be embedded automatically) | |
| n_results | No | Number of results to return | |
| collection | Yes | Collection name to search in |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It fails to mention that this is a read-only operation, that the query is automatically embedded, or any other behavioral details such as performance implications or access requirements. The schema's parameter descriptions cover the embedding note, but the main description adds no transparency.
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 efficiently communicates the tool's core function. It is appropriately sized for a simple search operation, though it could be slightly more informative without becoming verbose.
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 return values or result format. Since there is no output schema, the description should at least hint at what the agent can expect (e.g., document IDs, scores, metadata). This gap makes the tool's behavior less predictable.
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 the baseline is 3. The main description does not add any additional meaning beyond the schema; it only repeats the tool's purpose. The parameter details are already well-explained in the schema, so no further compensation is 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 the tool searches ChromaDB collections using semantic/vector similarity, which is a specific verb+resource pairing. It distinguishes itself from sibling tools like chromadb_collections (managing collections) and chromadb_upsert (inserting/updating data) by specifying the search functionality.
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 does not provide any guidance on when to use this tool versus alternatives (e.g., when to search vs. list collections or upsert data). No when-not or exclusion criteria are mentioned, leaving the agent with insufficient context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chromadb_upsertC
Upsert documents (with embeddings) into a ChromaDB collection.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment: prod (default), lab | |
| ids | Yes | List of unique IDs for each document | |
| documents | Yes | List of text documents to store | |
| metadatas | No | List of metadata dicts for each document | |
| collection | Yes | Collection name (created if it doesn't exist) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only says 'upsert', which implies insert or update, but does not clarify whether embeddings are provided or generated, what happens on ID collision, or the collection creation behavior beyond the schema note. The description adds minimal value beyond the tool name.
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, efficient and to the point. It could be slightly more structured but is not verbose.
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 complexity (5 parameters, no output schema, no annotations), the description is insufficient. It does not explain the return value, error handling, or the role of embeddings (whether they are generated or required). The statement 'with embeddings' is ambiguous.
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 clear parameter descriptions. The tool description adds no additional semantic meaning beyond the schema. Baseline 3 is appropriate as the schema already documents parameters thoroughly.
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 ('Upsert'), resource ('documents with embeddings'), and target ('ChromaDB collection'). It is specific and distinguishes the tool from typical CRUD operations, though it does not explicitly differentiate from sibling tools like chromadb_search or chromadb_collections.
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, no prerequisites, and no exclusion criteria. The description simply states what the tool does without context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diarize_audioB
Speaker diarization: identify and separate different speakers in an audio file.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_url | No | URL to download audio from | |
| audio_path | No | Local path to audio file (mp3, wav, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description omits behavioral details such as input constraints, output format, or processing requirements like minimum audio length.
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 conveys purpose efficiently, though it could be slightly expanded without losing conciseness.
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 and no mention of return value; for a non-trivial operation like diarization, the description is insufficiently 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 covers 100% of parameters with descriptions, so the description adds no extra semantic value; 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?
Clearly states the tool performs speaker diarization to identify and separate speakers in an audio file, distinguishing it from transcription (stt_transcribe) and speech synthesis (tts_speech).
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 diarization versus transcription or other tools; no exclusions or alternatives provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
embeddings_createB
Generate text embeddings using BGE-M3 model for RAG/search. Returns vector arrays.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Embedding model (default: bge-m3) | bge-m3 |
| texts | Yes | List of texts to embed |
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. It only states the return type but omits any behavioral traits like rate limits, maximum input size, or idempotency. Additional context is minimal.
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?
Extremely concise: one sentence, 14 words, front-loaded with the core action. No unnecessary 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 no output schema and no annotations, the description is too sparse. It does not specify vector dimensionality, output format details, or constraints like maximum batch size. Leaves significant unknowns for the agent.
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 each parameter described. The description adds the use case 'for RAG/search' but does not provide additional semantic nuance beyond the schema. Baseline 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 it generates text embeddings using a specific model for RAG/search and indicates the return type as vector arrays. This distinguishes it from sibling tools like llm_chat or chromadb_operations.
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 like chromadb_upsert or chromadb_search. The mention of RAG/search is implicit but lacks explicit conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_generateB
Generate images from text prompts using OpenDalle model.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of images to generate | |
| size | No | Image size (e.g., '1024x1024', '1024x768') | 1024x1024 |
| prompt | Yes | Image description prompt |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden for behavioral disclosure. It only states the generation capability but omits critical traits like execution time, rate limits, content policies, cost implications, or return format. Users cannot anticipate side effects 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?
The description is a single concise sentence that communicates the core functionality without any extraneous words. Every word 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?
For an image generation tool with no output schema and no annotations, the description is too sparse. It lacks information about return values (e.g., image URL, bytes), error handling, or model specificity beyond the name. More behavioral context is needed for safe and 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?
Since schema description coverage is 100%, the baseline is 3. The description mentions 'text prompts' which corresponds to the prompt parameter, but adds no new meaning or constraints beyond the schema. It does not elaborate on n or size semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: generating images from text prompts using the OpenDalle model. It specifies the verb (Generate), resource (images), and method (from text prompts, using OpenDalle). This clearly distinguishes it from sibling tools like llm_vision (which analyzes images) and other non-image 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?
No guidance is provided on when to use this tool versus alternatives. Siblings include llm_vision for vision tasks, but no differentiation is offered. There is no mention of prerequisites, limitations, or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_list_servicesA
List all infocepo.com infrastructure services with status and endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| env | No | Environment to show endpoints for: prod, lab, dev | prod |
| include_status | No | Include health check status (requires HTTP call) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description is straightforward but does not disclose behavioral traits beyond the schema (e.g., caching, pagination). The include_status parameter's HTTP call is noted in the parameter description, but the tool description itself adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with clear verb and resource. No fluff. Front-loaded and efficient.
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 list tool, the description covers the main purpose. No output schema, but the mention of status and endpoints implies the output content. Could add more detail about response structure, but overall fairly 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 description coverage is 100%, so baseline is 3. The description ties 'status' and 'endpoints' to the parameters, providing context. This adds some value but not extensive detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists infrastructure services for infocepo.com, specifying status and endpoints. Distinguishes from sibling tools like infra_refresh_discovery and infra_read_wiki.
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. Sibling tools are listed but no comparison or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_parse_wikiA
Parse wiki wikitext and return structured sections. Returns list of sections with title and content.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Wiki page title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explains the output format (list of sections with title and content), which is helpful. However, it does not disclose whether the operation is read-only, any side effects, or prerequisites like page existence.
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 extremely concise: two short, informative sentences. Every word adds value, stating the action and the output format. No unnecessary details or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-param tool with no output schema, the description adequately explains the return structure. However, it lacks contextual details such as whether the wiki page must exist, error handling, or any performance considerations.
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 single parameter 'title' already has a clear schema description ('Wiki page title'). The description adds no extra meaning beyond what the schema provides. Given 100% schema coverage, baseline 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 'parse', the resource 'wiki wikitext', and the output 'structured sections'. It also specifies the return format (list with title and content), distinguishing it from the sibling tool infra_read_wiki which likely returns raw text.
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 alternatives like infra_read_wiki. The tool name and description imply parsing, but without stating that raw reading should be done via infra_read_wiki, the agent lacks decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_read_wikiB
Read a page from the infocepo.com wiki. Useful for discovering new services, configurations, or documentation.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Wiki page title (e.g., 'Main_Page', 'Page_Name') | |
| section | No | Optional: extract only this section (e.g., 'Catalogue rapide des services') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It only states it 'reads' a page, implying a read-only operation, but does not disclose behavior like error handling, output format, authentication requirements, or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence immediately stating the core functionality and the second providing context. Every word 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?
For a simple read tool with two well-documented parameters, the description covers purpose and utility. However, it lacks details about the output (format, structure) and error scenarios, which would be important given the lack of an output schema.
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 adds no additional meaning beyond the schema's parameter descriptions, such as examples or format 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?
The description clearly states the action ('Read') and the specific resource ('a page from the infocepo.com wiki'), and provides a use case ('discovering new services, configurations, or documentation'). It distinguishes from siblings like infra_list_services but does not explicitly differentiate from infra_parse_wiki.
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 when needing to discover wiki content, but provides no explicit guidance on when not to use this tool or alternatives. No exclusion criteria or comparisons to siblings are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infra_refresh_discoveryA
Re-fetch and re-parse the wiki Main_Page to discover any changes to services/endpoints.
| 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 carries full burden. It mentions re-fetching (network call) but does not disclose potential side effects, rate limits, or whether it modifies state. Behavior beyond the basic action is opaque.
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 clear sentence with no wasted words. Front-loaded and direct.
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?
Adequate for a parameterless tool, but lacks details on return format, error handling, or whether the discovery results are stored or returned. Incomplete for understanding the full impact.
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?
Zero parameters, so schema coverage is 100%. Description adds context by specifying the target wiki page (Main_Page), which clarifies the tool's scope beyond the empty 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?
Description clearly states it re-fetches and re-parses the wiki Main_Page to discover changes. Verb and resource are specific, and it distinguishes from sibling tools like infra_read_wiki (read without re-fetch) and infra_parse_wiki (parse without re-fetch).
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 vs alternatives like infra_read_wiki or infra_parse_wiki. Lacks context on prerequisites, frequency, or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
llm_chatC
Chat completions using the infocepo LLM API (OpenAI-compatible). Supports chat, reasoning, code generation.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model name: ai-default, ai-thinking, ai-fast, ai-embedding, ai-stt, ai-tts, ai-image, ai-vision | |
| messages | Yes | Chat messages array: [{role: 'user'|'system'|'assistant', content: 'text'}] | |
| max_tokens | No | Max tokens in response. | |
| temperature | No | Sampling temperature (0-2). Default 0.7. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as cost, rate limits, idempotency, or side effects. For a generative API, basic transparency about resource usage is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundancy, and front-loaded with the core purpose. Every word 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?
Despite good schema coverage, the description lacks details about return values, error handling, streaming, or authentication. With no output schema, the agent is left without context on what to expect from a 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?
Input schema has 100% description coverage, so parameters are already documented. The description adds minimal extra meaning beyond the schema, only mentioning supported capability categories.
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 provides chat completions using infocepo LLM API and lists supported capabilities (chat, reasoning, code generation). However, it does not differentiate from sibling tools like llm_vision or embeddins_create, leaving some ambiguity about 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 on when to use this tool versus alternatives or when not to use it. The description only lists what it supports, lacking context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
llm_visionA
Image-to-text / OCR / VLM using the ai-vision model. Send an image (URL or base64) and get a description.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | Question about the image, e.g. 'Describe this image' | Décris cette image. |
| image_b64 | No | Base64-encoded image content (if no image_url) | |
| image_url | No | Image URL (http://...) or data:image/... base64 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the model name and basic function but lacks behavioral details such as authentication needs, rate limits, image format constraints, or error handling.
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 concise sentence with no filler. All information is front-loaded and relevant.
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 3 parameters, no output schema, and no annotations, the description covers the basic purpose but lacks details like supported image types, size limits, or default language (French). Adequate for simple use but incomplete for complex scenarios.
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 provides descriptions for all 3 parameters with 100% coverage. Description adds marginal value by summarizing input options ('URL or base64') but does not enrich parameter understanding beyond 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?
Description clearly states the tool's purpose: 'Image-to-text / OCR / VLM using the ai-vision model' and specifies the action 'Send an image... and get a description'. It distinguishes from sibling tools like llm_chat and image_generate.
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?
Description implies usage (send image, get description) but provides no explicit when-to-use, when-not-to-use, or alternatives. No guidance on selecting this over sibling tools like stt_transcribe or summary_text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registry_listC
List Docker images from the infocepo private registry.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of results (for pagination) | |
| last | No | Name of last entry for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It does not explicitly state read-only nature, authentication requirements, rate limits, or the effect of pagination parameters on results order or completeness.
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 conveys the core purpose without extraneous words. It is front-loaded with the action and resource, though some might argue it could be more detailed.
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 tool has moderate complexity (pagination) and no output schema. The description does not explain return format, pagination behavior (e.g., ascending/descending, default page size), or how to handle incomplete 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%, and the schema already describes both parameters ('n' and 'last') with clear documentation. The description adds no additional meaning beyond what the schema provides, meeting the baseline but not exceeding it.
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 resource ('Docker images from the infocepo private registry'). It distinguishes from sibling tools by specifying a specific registry, though it could be more precise about what 'list' entails (e.g., metadata, tags).
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 like chromadb_search or s3_list. There is no mention of prerequisites or filtering options beyond the schema-defined pagination.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
s3_downloadB
Download a file from S3-compatible storage.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Object key (path in bucket) | |
| bucket | Yes | Bucket name | |
| save_path | Yes | Local path to save the file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as required permissions, error handling, or side effects. The tool is a download operation, but nothing is said about file existence checks or storage 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?
The description is a single sentence with no redundancy. Every word serves a purpose, making it highly concise.
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 is minimal. It does not explain whether the file content is returned or saved to the path, nor does it cover error handling or prerequisites. More detail would enhance 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?
The input schema has 100% coverage with clear descriptions for all three parameters (bucket, key, save_path). The description adds no extra meaning beyond the schema, so a 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 clearly states the tool downloads a file from S3-compatible storage, with a specific verb and resource. It effectively distinguishes from sibling tools like s3_list and s3_upload.
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. There is no mention of prerequisites, when not to use, or scenarios where other tools (e.g., s3_list) might be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
s3_listB
List objects in an S3-compatible storage bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | Yes | Bucket name (e.g., 'ORG') | |
| prefix | No | Optional prefix/filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the sole source of behavioral info. It only states 'List objects' without mentioning pagination, limits, ordering, or access requirements.
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 unnecessary words, appropriately 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?
For a list operation, the description omits critical details such as pagination, max results, sorting, and whether it returns all objects or only first page. This leaves the agent underinformed.
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 both parameters are already documented. The description adds no additional semantics 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 specifies the verb 'List' and the resource 'objects in an S3-compatible storage bucket', clearly distinguishing it from sibling tools like s3_upload and s3_download.
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, nor any prerequisites or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
s3_uploadB
Upload a file to S3-compatible storage.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Object key (path in bucket) | |
| bucket | Yes | Bucket name | |
| file_path | Yes | Local file path to upload |
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. It only states 'Upload' but fails to disclose side effects, auth requirements, size limits, or behavior on overwrite, leaving significant transparency gaps.
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, clear sentence with no unnecessary words, making it highly concise and well-structured.
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, no annotations, and three parameters, the description fails to explain return values, error conditions, or additional context, making it incomplete for a tool that writes data.
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 100% schema description coverage, the schema already documents the three parameters. The description adds no additional meaning, so the 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 uses a specific verb ('Upload') and resource ('file to S3-compatible storage'), clearly distinguishing the tool from sibling tools like s3_list and s3_download.
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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stt_transcribeB
Transcribe audio to text using Whisper model. Accepts file path, URL, or base64 audio.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Model name (default: whisper-1) | whisper-1 |
| language | No | Language code (e.g., 'fr', 'en'). Auto-detect if omitted. | |
| audio_b64 | No | Base64-encoded audio content | |
| audio_url | No | URL to download audio from | |
| audio_path | No | Local path to audio file (opus, ogg, wav, mp3, m4a) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden but only states input formats and model use. It fails to disclose output format, size limits, or other behavioral traits (e.g., synchronous/asynchronous, supported audio duration).
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 concise sentences, no extraneous information. Every word is necessary; front-loaded with the core 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?
With no output schema and multiple input parameters, the description fails to explain return values or error handling. It does not specify whether the tool returns JSON with transcribed text, audio duration info, or confidence scores.
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 schema already describes parameters. The description adds value by grouping input types (file, URL, base64) but does not clarify model or language semantics 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 clearly states the tool's purpose: transcribe audio to text using the Whisper model. It lists accepted input formats (file path, URL, or base64 audio), distinguishing it from sibling tools like tts_speech (text-to-speech) and diarize_audio (speaker diarization).
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 use when audio transcription is needed but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives among sibling tools like diarize_audio or summary_text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summary_textB
Summarize long texts using the infocepo summary API.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to summarize | |
| max_length | No | Max summary length in characters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only states the API name without any details on security, rate limits, idempotency, or what happens to the text (e.g., privacy implications). This is insufficient for an agent to anticipate side effects.
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 filler words. It conveys the core function efficiently. Every word 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 the tool has only two simple parameters and no output schema, the description is minimally adequate. However, it lacks information about the return format (e.g., is it a JSON object with a 'summary' field?), potential error conditions, or any constraints on 'long texts' (e.g., character limits). A bit more 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% for the two parameters, so the baseline is 3. The description adds no additional meaning beyond the schema's brief parameter descriptions (e.g., 'max_length' is described as 'Max summary length in characters' in both). No extra context is provided.
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 'summarize' and the resource 'long texts', mentioning the specific API used. However, it does not differentiate from sibling tools like llm_chat, which could also summarize, but the naming and description are sufficiently distinct for the intended use case.
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 llm_chat for potentially interactive summarization or other text-processing tools. There is no mention of prerequisites, limitations, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tts_speechA
Text-to-speech synthesis using OmniVoice model. Returns audio in opus/wav format.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to synthesize | |
| voice | No | Voice name (e.g., 'coral', 'sage'). Default 'coral'. | coral |
| instructions | No | Voice direction (e.g., 'Speak in a cheerful tone') | |
| response_format | No | Output format: opus, mp3, wav, flac, pcm | opus |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It states the tool 'returns audio', implying it is a read-only generation operation. However, it does not mention any potential side effects, latency, or model-specific behaviors. Adequate but minimal.
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 conveys the essential information: the action (synthesis), the model used, and the output format. It is front-loaded and contains no unnecessary words, earning 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 the absence of an output schema, the description mentions the return format (opus/wav) but does not detail the structure of the response (e.g., binary, URL). The tool has 4 parameters, but the description does not explain how they interplay or provide usage examples. Completeness is adequate but could be improved.
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%, meaning each parameter already has a schema description. The tool description adds no additional meaning beyond the schema, which is the baseline expectation. No extra context is provided for parameters like 'instructions' or 'voice'.
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 explicitly states 'Text-to-speech synthesis using OmniVoice model', which clearly identifies the tool's purpose. It also mentions the output format (opus/wav), providing additional clarity. No sibling tool performs TTS, so distinction is clear.
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 explicit guidance on when to use this tool versus alternatives. It only states what the tool does, leaving usage context implicit. A brief note about when TTS is appropriate would improve this dimension.
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.
19 tool updates
v0.1.0- First observed
chromadb_collections - First observed
chromadb_search - First observed
chromadb_upsert - First observed
diarize_audio - First observed
embeddings_create - First observed
image_generate - First observed
infra_list_services - First observed
infra_parse_wiki - First observed
infra_read_wiki - First observed
infra_refresh_discovery - First observed
llm_chat - First observed
llm_vision - First observed
registry_list - First observed
s3_download - First observed
s3_list - First observed
s3_upload - First observed
stt_transcribe - First observed
summary_text - First observed
tts_speech
TDQS
Scored across 19 tools
Each tool targets a distinct operation within its domain (wiki, LLM, audio, vector DB, registry, S3). Even tools that might seem similar (e.g., infra_read_wiki and infra_parse_wiki) have clear functional differences. No overlapping purposes.
All tools follow a consistent lowercase_underscore naming pattern with domain-specific prefixes (infra_, llm_, stt_, tts_, etc.). Verbs and nouns are used predictably, making the tool surface easy to navigate.
With 19 tools covering multiple distinct domains (infrastructure, AI, storage, registry), the count is on the high side. While each domain has a reasonable subset, the server would benefit from splitting into focused services.
The tool surface is shallow across several domains: wiki/infra is read-only, vector DB lacks collection management, S3 lacks delete/bucket operations, and Docker registry only lists images. Significant gaps exist for full lifecycle management.
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
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Related MCP Servers
- FlicenseAqualityFmaintenanceMCP server that exposes 300+ AI agents as tools via a single API key. Supports listing agents, invoking any agent with chat-completion style messages, checking agent health, and retrieving platform statistics.53-
- AlicenseBqualityFmaintenanceExposes OpenClaw tools (web search, page fetching, browser automation, PDF analysis, messaging, inter-agent communication, Canvas) as MCP tools for ACP agents.7-
- FlicenseNot gradedqualityDmaintenanceExposes MCP tools that enable remote LLMs to query local Docker containers, OS processes, and system services in real time.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT