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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
Latest Blog Posts
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/giuliohome-org/doc-manager'
If you have feedback or need assistance with the MCP directory API, please join our Discord server