existdb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EXISTDB_USER | No | eXist-db username | admin |
| EXISTDB_ENDPOINT | No | eXist-db base URL (no trailing /rest) | http://localhost:8080/exist |
| EXISTDB_PASSWORD | No | eXist-db password |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| existdb_lookup_functionA | Look up the documentation for one or more eXist-db / XQuery functions by name. Returns the full signature, parameter descriptions, return type, and usage notes. Accepts a local name (e.g. 'store'), a prefixed name (e.g. 'xmldb:store'), or a partial match. |
| existdb_list_namespace_functionsA | Lists all documented functions in a given eXist-db / XQuery namespace. Accepts a namespace URI or a conventional prefix (e.g. 'xmldb', 'ft', 'util', 'sm', 'fn'). |
| existdb_search_functionsA | Full-text search across all eXist-db / XQuery function names and descriptions. Useful for discovering functions when you know what you want to do but not the exact name. |
| existdb_list_namespacesA | Returns a summary table of all available namespaces in the documentation cache, including their conventional prefix and the number of documented functions. |
| existdb_get_xquery_snippetA | Returns a ready-to-use XQuery code snippet for a common eXist-db programming pattern. Available topics: store-document, fulltext-search, restxq, http-client, security, transform-xslt, collection-query. |
| existdb_execute_queryB | Executes an XQuery expression against a live eXist-db instance via the REST API and returns the results. Requires EXISTDB_ENDPOINT, EXISTDB_USER, EXISTDB_PASSWORD env vars, or pass endpoint/username/password directly. |
| existdb_validate_xqueryA | Validates the syntax of an XQuery expression against a live eXist-db instance without executing it. Returns syntax errors with line/column information if present. |
| existdb_list_collectionB | Lists the contents of an eXist-db collection: sub-collections and XML documents with metadata (size, permissions, modification date). |
| existdb_get_documentC | Retrieves the XML content of a document stored in eXist-db. |
| existdb_store_documentA | Stores (creates or replaces) an XML document in an eXist-db collection via PUT. |
| existdb_delete_resourceB | Deletes a document or collection from eXist-db. Use with caution — deletion is permanent. |
| existdb_create_collectionB | Creates a new sub-collection inside an existing eXist-db collection. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool has a clearly distinct purpose: documentation lookup, namespace listing, searching, and data operations are separated without overlap. Even the two list tools differ by scope (functions in a namespace vs. all namespaces), and delete_resource explicitly covers both documents and collections.
All tool names follow the pattern 'existdb_<verb>_<object>' using snake_case, with verbs like lookup, list, search, get, execute, validate, store, delete, and create. This uniform convention makes the tool set predictable and easy to navigate.
With 12 tools, the server is well-scoped for an eXist-db MCP, covering both documentation lookup and essential XML database operations. The count is appropriate and neither too sparse nor bloated.
The tool set provides comprehensive coverage of the eXist-db domain: documentation (lookup, list, search, snippets) and data management (create collection, store/get/list documents, delete, execute/validate XQuery). Store_document handles both create and replace, covering update operations without needing a separate tool.