Obsidian Remote REST API MCP Server
by Heracraft
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTPS port. | 27124 |
| TRASH | No | Where DELETE puts files: local (the folder's .trash), or none (delete outright). system means local, since a container has no system trash. Default comes from app.json, else local. | local |
| WATCH | No | Follow changes made to the folder by anything else. | true |
| API_KEY | Yes | The bearer token. Without it the server generates one on first start, logs it once, keeps it in the data directory, and warns at every start. | |
| DATA_DIR | No | Where the generated API key and TLS material are kept. The default sits in the configuration directory, which the API refuses to serve. | <vault>/.obsidian/plugins/obsidian-remote-rest-api |
| CONFIG_DIR | No | The Obsidian configuration directory's name, which the API refuses to read or write. | .obsidian |
| VAULT_PATH | No | The folder to serve. | /vault |
| BINDING_HOST | No | The address to listen on. Must be private; see Exposure. | 0.0.0.0 |
| TLS_KEY_FILE | No | Use your own key instead of the generated one. | |
| INSECURE_PORT | No | HTTP port. | 27123 |
| TLS_CERT_FILE | No | Use your own certificate (PEM, chain included) instead of the generated one. | |
| NEW_LINK_FORMAT | No | How rewritten links name their target: shortest, relative or absolute. Default comes from app.json, else shortest. | shortest |
| VERBOSE_LOGGING | No | Log each change seen on disk and each refused request. | false |
| SUBJECT_ALT_NAMES | No | Comma-separated host names and addresses for the HTTPS certificate. compose.yaml adds BIND_IP. Changing it generates a new certificate authority. | |
| ENABLE_SIGNED_URLS | No | Allow signed URLs. | true |
| ENABLE_SECURE_SERVER | No | Serve HTTPS. | true |
| UPDATE_LINKS_ON_MOVE | No | Rewrite links to a note when MOVE moves it. Default comes from app.json, else true. | true |
| ENABLE_INSECURE_SERVER | No | Serve plain HTTP. Only inside a Tailscale or WireGuard tunnel. | false |
| SIGNED_URL_TTL_SECONDS | No | How long a signed URL stays valid. | 300 |
| ALLOWED_CLIENT_NETWORKS | No | Comma-separated CIDRs clients may connect from. Can only narrow the private ranges. | the private ranges |
| RESCAN_INTERVAL_SECONDS | No | How often to compare the whole folder with the index, for changes the watcher missed. 0 turns it off. | 60 |
| ENABLE_CONFIG_DIR_ACCESS | No | Let the API read and write the configuration directory. Exposes the stored API key. | false |
| AUTHORIZATION_HEADER_NAME | No | The header that carries the bearer token. | Authorization |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessNo issues