obsidian-mcp-rest
obsidian-mcp-rest is an MCP server implementation that provides access to Obsidian vaults through a local REST API. This tool allows AI assistants to interact with Obsidian notes and manage vault content via a standardized interface. It features reading and writing notes, listing vault contents, and search functionality, and is compatible with AI assistants like Claude Desktop. On the security side, it operates locally, and all requests are authenticated with an API key, ensuring safe usage.
GitHub Stars
51
User Rating
Not Rated
Forks
11
Issues
7
Views
1
Favorites
0
Obsidian MCP REST Server
An MCP (Model Context Protocol) server implementation that provides access to Obsidian vaults through a local REST API. This server allows AI assistants to interact with Obsidian notes and manage vault content through a standardized interface.
Features
- Access Obsidian vault contents through MCP
- Read and write notes
- List vault contents
- Search functionality
- Secure local REST API integration
- Compatible with Claude Desktop and other AI assistants
Prerequisites
- Node.js 16 or higher
- Obsidian with Local REST API plugin installed and configured
- An Obsidian vault with Local REST API enabled
Installation
Install the package globally:
npm install -g PublikPrinciple/obsidian-mcp-rest
Or if you prefer using a specific version/branch:
npm install -g PublikPrinciple/obsidian-mcp-rest#main
Configuration
First, configure Obsidian Local REST API plugin:
- Install the Local REST API plugin in Obsidian
- Configure the API port (default: 27123)
- Generate and save an API key
Create a configuration file
config.json
:
{
"obsidian": {
"apiKey": "your-api-key-here",
"port": 27123,
"host": "localhost"
},
"server": {
"name": "obsidian-mcp",
"version": "1.0.0"
}
}
Usage
- Start the server:
obsidian-mcp-rest --config path/to/config.json
- The server will start and listen for MCP requests via stdin/stdout.
Using with Claude Desktop
Configure Claude Desktop to use this MCP server:
- Open Claude Desktop settings
- Navigate to the MCP section
- Add new server configuration:
{ "name": "obsidian-mcp", "command": "obsidian-mcp-rest", "args": ["--config", "path/to/config.json"] }
Claude can now access your Obsidian vault through commands like:
Read note "Projects/MyProject.md" List all notes in "Projects" folder Search for notes containing "typescript"
Available Tools
listNotes
: List all notes in the vault or a specific folderreadNote
: Read the contents of a specific notewriteNote
: Create or update a notesearchNotes
: Search for notes using a query stringgetMetadata
: Get metadata for a specific note
Security
- The server only runs locally and communicates through stdin/stdout
- All requests to Obsidian REST API are authenticated with your API key
- No external network access is required
- Data remains local to your machine
Development
- Clone the repository:
git clone https://github.com/PublikPrinciple/obsidian-mcp-rest.git
cd obsidian-mcp-rest
- Install dependencies:
npm install
- Build the project:
npm run build
- Run tests:
npm test
Troubleshooting
Installation Issues
If you encounter any installation issues, try these alternatives:
- Clone and install locally:
git clone https://github.com/PublikPrinciple/obsidian-mcp-rest.git
cd obsidian-mcp-rest
npm install
npm run build
npm install -g .
- If you see TypeScript-related errors, ensure TypeScript is installed globally:
npm install -g typescript
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
License
MIT License - see LICENSE file for details
1
Followers
12
Repositories
0
Gists
14
Total Contributions