mcp-arango-mind
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARANGO_DB | No | Database name. | _system |
| ARANGO_URL | No | ArangoDB server URL. | http://127.0.0.1:8529 |
| ARANGO_TOKEN | No | Bearer token; overrides username and password. | |
| ARANGO_PASSWORD | No | Basic auth password. | |
| ARANGO_USERNAME | No | Basic auth username. | root |
| ARANGO_LOG_LEVEL | No | Log level: silent, error, warn, info, debug, or trace. | info |
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 | {
"listChanged": false
} |
| resources | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mcp.mcpB | search_tools - Filtered tool/action catalog matches. mcp.mcp(action=search_tools, payload={"keywords":["collection"],"limit":5}) list_by_category - Tool categories listing. mcp.mcp(action=list_by_category, payload={"limit":20}) unload - Unload request result. mcp.mcp(action=unload, payload={"tool_names":[]}) |
| mcp.helpA | get - Return the full schema-owned help page for one action. mcp.help(action=get, payload={"target":"mcp.tool.collection","action":"insert"}) list - List schema-owned help actions, optionally under one target. mcp.help(action=list, payload={"target":"mcp.tool.collection"}) |
| mcp.arangoA | list - ArangoDB OpenAPI operation summaries mcp.arango(action=list, payload={"limit":20}) search - ArangoDB OpenAPI operation matches mcp.arango(action=search, payload={"query":"document","limit":5}) exec - Raw ArangoDB HTTP response mcp.arango(action=exec, payload={"target":"getServerAvailability","params":{}}) describe - ArangoDB OpenAPI operation contract mcp.arango(action=describe, payload={"target":"getServerAvailability"}) call - Compatibility alias for exec mcp.arango(action=call, payload={"target":"getServerAvailability","params":{}}) |
| mcp.tool.templateA | list - Template catalog id listing mcp.tool.template(action=list, payload={"limit":20}) search - Template catalog keyword matches mcp.tool.template(action=search, payload={"keywords":["memory"],"limit":5}) describe - Template catalog entry mcp.tool.template(action=describe, payload={"target":"memory.view"}) call - Template execution result, catalog mutation, or validate report mcp.tool.template(action=call, payload={"target":"memory.view","params":{"query":"schema","limit":5}}) |
| mcp.tool.databaseC | list - Database listing. mcp.tool.database(action=list, payload={}) get_active - Current database profile. mcp.tool.database(action=get_active, payload={}) get_focused - Focused database profile. mcp.tool.database(action=get_focused, payload={}) |
| mcp.tool.collectionB | insert - Inserted document. mcp.tool.collection(action=insert, payload={"collection":"notes","document":{}}) find - Document or query results. mcp.tool.collection(action=find, payload={"collection":"notes","key":"note-key"}) update - Updated document metadata. mcp.tool.collection(action=update, payload={"collection":"notes","key":"note-key","update":{}}) remove - Removed document metadata. mcp.tool.collection(action=remove, payload={"collection":"notes","key":"note-key"}) insert_with_validation - Validated insert result. mcp.tool.collection(action=insert_with_validation, payload={"collection":"notes","document":{}}) list - Collection listing. mcp.tool.collection(action=list, payload={"limit":20}) bulk_insert - Bulk insert result. mcp.tool.collection(action=bulk_insert, payload={"collection":"notes","documents":[{}]}) list_indexes - Index listing. mcp.tool.collection(action=list_indexes, payload={"collection":"notes"}) create_index - Created index. mcp.tool.collection(action=create_index, payload={"collection":"notes","type":"persistent","fields":["title"]}) delete_index - Deleted index. mcp.tool.collection(action=delete_index, payload={"id_or_name":"notes/title"}) get_schema - Runtime schema. mcp.tool.collection(action=get_schema, payload={"schema_name":"notes"}) validate_document - Validation result. mcp.tool.collection(action=validate_document, payload={"collection":"notes","document":{}}) create - Created collection. mcp.tool.collection(action=create, payload={"name":"notes","type":"document"}) stats - Collection statistics. mcp.tool.collection(action=stats, payload={"collection":"notes"}) drop - Dropped collection. mcp.tool.collection(action=drop, payload={"collection":"notes"}) truncate - Truncated collection. mcp.tool.collection(action=truncate, payload={"collection":"notes"}) |
| mcp.tool.viewA | create - Created View. mcp.tool.view(action=create, payload={"name":"notes_view","type":"arangosearch"}) drop - Dropped View. mcp.tool.view(action=drop, payload={"name":"notes_view"}) list - View listing. mcp.tool.view(action=list, payload={}) get - View properties. mcp.tool.view(action=get, payload={"name":"notes_view"}) update - Updated View properties. mcp.tool.view(action=update, payload={"name":"notes_view","properties":{}}) search - AQL search result. mcp.tool.view(action=search, payload={"query":"FOR n IN notes RETURN n"}) |
| mcp.tool.graphA | create - Created graph. mcp.tool.graph(action=create, payload={"name":"notes_graph","edge_definitions":[]}) list - Graph listing. mcp.tool.graph(action=list, payload={}) add_vertex_collection - Added vertex collection. mcp.tool.graph(action=add_vertex_collection, payload={"graph":"notes_graph","collection":"notes"}) add_edge_definition - Added edge definition. mcp.tool.graph(action=add_edge_definition, payload={"graph":"notes_graph","edge_collection":"edges","from_collections":["notes"],"to_collections":["notes"]}) add_edge - Added edge. mcp.tool.graph(action=add_edge, payload={"graph":"notes_graph","collection":"edges","from_id":"notes/a","to_id":"notes/b"}) |
| mcp.tool.adminA | aql_query - AQL query result. mcp.tool.admin(action=aql_query, payload={"query":"RETURN 1"}) aql_explain - AQL explain plan. mcp.tool.admin(action=aql_explain, payload={"query":"RETURN 1"}) aql_profile - AQL profile result. mcp.tool.admin(action=aql_profile, payload={"query":"RETURN 1"}) |
| mcp.tool.atlasC | list - Atlas query profile listing mcp.tool.atlas(action=list, payload={"limit":20}) search - Atlas query profile keyword matches mcp.tool.atlas(action=search, payload={"keywords":["types"],"limit":5}) describe - Atlas query profile contract mcp.tool.atlas(action=describe, payload={"target":"atlas.types"}) call - Atlas projection query result mcp.tool.atlas(action=call, payload={"target":"atlas.types","params":{"mode":"table","limit":20}}) |
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 10 tools
The ten tools are separated by clear domain boundaries (e.g., collection, view, graph, admin), making most purposes distinct. However, mcp.arango serves as a raw API superset and includes a duplicate alias (call/exec), creating some potential for overlap.
All names use lowercase with dots and underscores, but the namespace prefixes are inconsistent: mcp.mcp, mcp.help, mcp.arango, and mcp.tool.*. Repeated action patterns like list/search/describe/call appear in several tools, but the mix of short namespaces (mcp.arango) and longer nested ones (mcp.tool.collection) lessens uniformity.
With 10 tools, the server is well-scoped for a comprehensive ArangoDB mind toolkit. While one tool (collection) has many operations, the overall tool count fits the ideal 3-15 range and each tool earns its place.
The server covers broad functionality for collections, views, graphs, AQL, and database info, but graph removal operations (e.g., delete vertex/edge or edge definition) and the ability to switch the active database are missing. These gaps may force agents to rely on the low-level mcp.arango.exec fallback.