Doc Manager
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_READ_ONLY | No | When true/1/yes, hides create/update MCP tools | false |
| OAUTH_PROVIDER | Yes | OAuth provider (e.g., `github`); enables MCP endpoint | |
| OAUTH_ALLOWED_USERS | Yes | Comma-separated GitHub logins; must list at least one user | |
| AZURE_STORAGE_ACCOUNT | Yes | Azure Storage account name (container `documents` is auto-created) | |
| MCP_PUBLIC_INTROSPECT | No | Opens /mcp for unauthenticated tools/list only. Auto-on when both AZURE_STORAGE_ACCOUNT and OAUTH_PROVIDER are unset; set 0 to force-disable. | |
| OAUTH_PUBLIC_BASE_URL | Yes | Public base URL of this server, e.g. `https://doc-manager.giuliohome.com` | |
| AZURE_STORAGE_ACCESS_KEY | Yes | Storage access key | |
| RUST_ROCKET_EXACT_ORIGIN | Yes | CORS origin for the React frontend |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_documentsA | List every document in the vault with its id, title, encryption status, attachment status, and content size. |
| get_documentA | Fetch a single plaintext document by id. Refuses encrypted documents (their content is unreadable server-side). |
| search_documentsA | Case-insensitive substring search across titles (always) and plaintext content. Returns id, title, encrypted flag, what matched, and a short snippet. |
| get_attachmentA | Fetch the file attached to a plaintext document. Returns filename, byte size, base64-encoded content, and a UTF-8 text rendition when the bytes are valid UTF-8 (e.g. .md, .txt, .json). Refuses if the attachment is encrypted client-side (named '_dmencblob'). |
| create_documentA | Create a new plaintext document. Returns the new id. Cannot create encrypted documents. |
| update_documentA | Replace the content (and optionally the title) of an existing plaintext document. Refuses if the document is encrypted. |
| add_attachmentA | Attach a file to an existing plaintext document. Replaces any pre-existing attachment for that document (one attachment per doc by design). Refuses if the document is encrypted client-side. Provide either 'content' (UTF-8 text, e.g. markdown) or 'content_base64' (binary, base64-encoded). |
| delete_documentA | Delete a document and all of its associated blobs (main content, title, and any attachment). Works on encrypted documents too — deletion is destructive but does not disclose contents. Irreversible. |
| delete_attachmentA | Delete the file attached to a document, leaving the document itself intact. No-op (with status: 'no_attachment') if the document has no attachment. Works on encrypted attachments too. |
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 9 tools
Each tool has a distinct purpose (create, read, update, delete for documents and attachments, plus search). No two tools overlap in functionality, and descriptions clarify edge cases (e.g., add_attachment replaces existing attachment).
All tools follow a consistent verb_noun pattern (e.g., create_document, delete_attachment, search_documents). No mixing of conventions like camelCase or inconsistent verb forms.
With 9 tools, the server covers all core operations for document and attachment management. The count is well-scoped—neither too few (would miss functionality) nor too many (would overwhelm).
The toolset provides full CRUD for plaintext documents and attachments. However, encrypted documents are only deletable; they cannot be read or updated via the server. This is a deliberate design but limits utility if encrypted documents are present.