{"_id":"@beshkenadze/mcp-obsidian","_rev":"2-c912b7fb773847010eafff73d28b06e5","name":"@beshkenadze/mcp-obsidian","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.4":{"name":"@beshkenadze/mcp-obsidian","version":"1.1.4","_id":"@beshkenadze/mcp-obsidian@1.1.4","maintainers":[{"name":"beshkenadze","email":"beshkenadze@gmail.com"}],"homepage":"https://github.com/beshkenadze/mcp-obsidian#readme","bugs":{"url":"https://github.com/beshkenadze/mcp-obsidian/issues"},"dist":{"shasum":"07bdea6b1216be00b4bb7fd07e4c3b6464136d37","tarball":"https://registry.npmjs.org/@beshkenadze/mcp-obsidian/-/mcp-obsidian-1.1.4.tgz","fileCount":43,"integrity":"sha512-dS3payZi/C87Pf6xCikl9d2CJf2R1ZCt90f/tercw5Qdrw9k7nzhKIoViZJ6+AWc3uzTWc4eL8Mmv7+tIJlQBQ==","signatures":[{"sig":"MEQCIC3lZYgHPHydqASrZCJC2qai7Jyyz0nfWwKlpZnSJ15tAiAyYSTYnmqTsQVpuaCkrhhBiA+b7eopSizW76zeojYVAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":616181},"type":"module","module":"index.ts","gitHead":"203cca4ffba640c156f0419f15b99e1a7762cae2","scripts":{"lint":"oxlint --deny-warnings \"src/**\"","test":"bun test test/index.test.ts","build":"bun run build:stdio && bun run build:sse","start":"bun src/index.ts","lint:fix":"oxlint --fix \"src/**\"","test:all":"bun test","build:sse":"MCP_TRANSPORT=sse bun build src/index.ts --outfile dist/sse.js --target node","precommit":"bun run lint && bun run test","start:sse":"MCP_TRANSPORT=sse LOG_TO_CONSOLE=true bun src/index.ts","start:node":"node dist/stdio.js","build:stdio":"MCP_TRANSPORT=stdio bun build src/index.ts --outfile dist/stdio.js --target node","start:stdio":"MCP_TRANSPORT=stdio LOG_TO_CONSOLE=true bun src/index.ts","generate-sdk":"bun src/cmd/generate-sdk.ts","generate-types":"bun src/cmd/generate-types.ts","start:node:sse":"node dist/sse.js","start:node:stdio":"node dist/stdio.js","test:integration":"bun test test/integration/*.test.ts","start:supergateway":"bun run src/bin/run-with-supergateway.ts"},"_npmUser":{"name":"beshkenadze","email":"beshkenadze@gmail.com"},"repository":{"url":"git+https://github.com/beshkenadze/mcp-obsidian.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP server for Obsidian API","directories":{},"_nodeVersion":"20.19.0","dependencies":{"zod":"^3.24.2","pino":"^9.6.0","pino-pretty":"^13.0.0","supergateway":"^2.5.0","@hey-api/client-fetch":"^0.9.0","@modelcontextprotocol/sdk":"^1.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"oxlint":"^0.16.4","@types/bun":"^1.2.8","typescript":"^5.8.2","semantic-release":"^24.2.3","@hey-api/openapi-ts":"^0.65.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/exec":"^7.0.3","@semantic-release/github":"^11.0.1","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.0.3"},"_npmOperationalInternal":{"tmp":"tmp/mcp-obsidian_1.1.4_1743605579626_0.918580317754423","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@beshkenadze/mcp-obsidian","module":"index.ts","type":"module","version":"1.2.0","description":"MCP server for Obsidian API","repository":{"type":"git","url":"git+https://github.com/beshkenadze/mcp-obsidian.git"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"bin":{"mcp-obsidian":"dist/stdio.js","mcp-obsidian-sse":"dist/sse.js"},"scripts":{"start":"bun src/index.ts","start:sse":"MCP_TRANSPORT=sse LOG_TO_CONSOLE=true bun src/index.ts","start:stdio":"MCP_TRANSPORT=stdio LOG_TO_CONSOLE=true bun src/index.ts","start:supergateway":"bun run src/bin/run-with-supergateway.ts","build":"bun run build:stdio && bun run build:sse && bun run add-shebang","build:stdio":"MCP_TRANSPORT=stdio bun build src/index.ts --outfile dist/stdio.js --target node","build:sse":"MCP_TRANSPORT=sse bun build src/index.ts --outfile dist/sse.js --target node","add-shebang":"echo '#!/usr/bin/env node' | cat - dist/stdio.js > /tmp/stdio.js && mv /tmp/stdio.js dist/stdio.js && echo '#!/usr/bin/env node' | cat - dist/sse.js > /tmp/sse.js && mv /tmp/sse.js dist/sse.js && chmod +x dist/stdio.js dist/sse.js","start:node":"node dist/stdio.js","start:node:stdio":"node dist/stdio.js","start:node:sse":"node dist/sse.js","generate-types":"bun src/cmd/generate-types.ts","generate-sdk":"bun src/cmd/generate-sdk.ts","test":"bun test test/index.test.ts","test:all":"bun test","test:integration":"bun test test/integration/*.test.ts","lint":"oxlint --deny-warnings \"src/**\"","lint:fix":"oxlint --fix \"src/**\"","precommit":"bun run lint && bun run test"},"devDependencies":{"@hey-api/openapi-ts":"^0.65.0","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/exec":"^7.0.3","@semantic-release/git":"^10.0.1","@semantic-release/github":"^11.0.1","@semantic-release/npm":"^12.0.1","@semantic-release/release-notes-generator":"^14.0.3","@types/bun":"^1.2.8","oxlint":"^0.16.4","semantic-release":"^24.2.3","typescript":"^5.8.2"},"dependencies":{"@hey-api/client-fetch":"^0.9.0","@modelcontextprotocol/sdk":"^1.8.0","pino":"^9.6.0","pino-pretty":"^13.0.0","supergateway":"^2.5.0","zod":"^3.24.2"},"_id":"@beshkenadze/mcp-obsidian@1.2.0","gitHead":"5eb9e8098b6b2f486325ce267dee8ade977fca0c","bugs":{"url":"https://github.com/beshkenadze/mcp-obsidian/issues"},"homepage":"https://github.com/beshkenadze/mcp-obsidian#readme","_nodeVersion":"20.19.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Wbqa58Vb10sIJ0cIyDjtNnHLMS/PdiwXT9UiVAvGoSBtoFNjW/F3MQDn1Dd64siPN+fCuM+Z+x3wiKxqWKQi0A==","shasum":"d13808f59a268d180be7a7e6a5ffd7b9efad1df5","tarball":"https://registry.npmjs.org/@beshkenadze/mcp-obsidian/-/mcp-obsidian-1.2.0.tgz","fileCount":45,"unpackedSize":1370940,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC6aXANCT7dXeXjIiysdqLlrznIlhjCMIRLthoebYPrZwIhANyG1vsdGHvBaiOGPWTLhdIslWlcJ3uwP+aLAeuA254M"}]},"_npmUser":{"name":"beshkenadze","email":"beshkenadze@gmail.com"},"directories":{},"maintainers":[{"name":"beshkenadze","email":"beshkenadze@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-obsidian_1.2.0_1743609400523_0.791439682299915"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-02T14:52:59.548Z","modified":"2025-04-02T15:56:40.969Z","1.1.4":"2025-04-02T14:52:59.856Z","1.2.0":"2025-04-02T15:56:40.777Z"},"bugs":{"url":"https://github.com/beshkenadze/mcp-obsidian/issues"},"homepage":"https://github.com/beshkenadze/mcp-obsidian#readme","repository":{"type":"git","url":"git+https://github.com/beshkenadze/mcp-obsidian.git"},"description":"MCP server for Obsidian API","maintainers":[{"name":"beshkenadze","email":"beshkenadze@gmail.com"}],"readme":"# MCP Obsidian\n\nA Model Context Protocol (MCP) server for interacting with Obsidian via its Local REST API.\n\n## Prerequisites\n\n- [Bun](https://bun.sh/) runtime\n- [Obsidian](https://obsidian.md/) with the [Local REST API plugin](https://github.com/coddingtonbear/obsidian-local-rest-api) installed and configured\n\n## Installation\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/beshkenadze/mcp-obsidian.git\n   cd mcp-obsidian\n   ```\n\n2. Install dependencies:\n   ```bash\n   make install\n   # or\n   bun install\n   ```\n\n3. Generate TypeScript types from the OpenAPI spec:\n   ```bash\n   make generate-types\n   # or\n   bun run generate-types\n   ```\n\n### Installing as a Package\n\nYou can install the package directly from npm:\n\n```bash\n# Install from npm (no authentication required)\nnpm install @beshkenadze/mcp-obsidian\n# or\nyarn add @beshkenadze/mcp-obsidian\n# or\nbun add @beshkenadze/mcp-obsidian\n```\n\nAlternatively, you can install from GitHub Packages (requires GitHub authentication):\n\n```bash\n# Add to .npmrc\n@beshkenadze:registry=https://npm.pkg.github.com\n//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN\n\n# Then install\nnpm install @beshkenadze/mcp-obsidian\n# or\nyarn add @beshkenadze/mcp-obsidian\n# or\nbun add @beshkenadze/mcp-obsidian\n```\n\n## Development\n\n### Release Process\n\nThis project uses [semantic-release](https://semantic-release.gitbook.io/semantic-release/) to automate version management and package publishing. The workflow:\n\n1. Commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) format\n   - `feat: add new feature` - triggers a minor release\n   - `fix: resolve bug` - triggers a patch release\n   - `feat!:` or `fix!:` or `refactor!:` etc. - triggers a major release\n   - `chore:`, `docs:`, `style:`, `refactor:`, `perf:`, `test:` - no release triggered\n\n2. When commits are pushed to the main branch, the release workflow:\n   - Determines the next version number based on commit messages\n   - Updates package.json with the new version\n   - Generates release notes from commits\n   - Creates a GitHub release with the notes\n   - Publishes to both npm Registry and GitHub Packages\n   - Updates the repository with version changes\n\nYou can also manually trigger a release using the GitHub Actions workflow dispatch.\n\n## Configuration\n\nThe MCP server is configured using environment variables:\n\n- `PORT`: The port on which the MCP server will listen (default: 3000)\n- `OBSIDIAN_BASE_URL`: The URL of the Obsidian Local REST API (default: https://127.0.0.1:27124)\n- `OBSIDIAN_API_KEY`: Your Obsidian Local REST API key (required)\n- `SERVER_TYPE`: The server implementation to use - either 'bun' or 'express' (default: 'bun')\n\nYou can set these variables in a `.env` file at the root of the project:\n\n```bash\nPORT=3000\nOBSIDIAN_BASE_URL=https://127.0.0.1:27124\nOBSIDIAN_API_KEY=your_api_key_here\nSERVER_TYPE=bun  # Options: bun, express\n```\n\n## Docker Support\n\nYou can run the MCP Obsidian server using Docker with different transport modes.\n\n### Building the Docker Image\n\nBuild the Docker image using the provided Dockerfile:\n\n```bash\ndocker build -t mcp-obsidian .\n```\n\n### Running with Docker\n\nRun the Docker container with the appropriate environment variables:\n\n```bash\ndocker run -p 3000:3000 \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  beshkenadze/mcp-obsidian\n```\n\nNote: Use `host.docker.internal` instead of `127.0.0.1` to access Obsidian running on your host machine from within the Docker container.\n\n#### Available Transport Modes\n\nThe Docker image supports different transport modes:\n\n##### 1. HTTP Mode (Default)\n\nThe default mode serves the MCP server over HTTP:\n\n```bash\ndocker run -p 3000:3000 \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  beshkenadze/mcp-obsidian\n```\n\n##### 2. SSE Mode\n\nTo run with SSE transport:\n\n```bash\ndocker run -p 3000:3000 \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=sse \\\n  beshkenadze/mcp-obsidian\n```\n\n##### 3. stdio Mode\n\nTo run with stdio transport (useful for integration with other MCP clients):\n\n```bash\ndocker run -i \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=stdio \\\n  beshkenadze/mcp-obsidian\n```\n\nNote: When using stdio mode, you must run the container with the `-i` flag to enable interactive mode.\n\n### Using Docker with Supergateway\n\nTo use the Docker container with Supergateway:\n\n```bash\n# Pull the public Docker image (no authentication required)\ndocker pull beshkenadze/mcp-obsidian\n\n# Run the MCP server with stdio transport\ndocker run -i \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=stdio \\\n  beshkenadze/mcp-obsidian | \\\nnpx -y @supercorp/supergateway\n```\n\nThis pipes the stdio output from the Docker container to Supergateway.\n\n## Usage\n\n### Running the MCP Server\n\nStart the MCP server:\n\n```bash\nmake start\n# or\nbun run start\n```\n\nThe server will be available at `http://localhost:3000` (or the port you configured).\n\n### Server Implementation\n\nThis MCP server supports two different server implementations:\n\n1. **Bun Server** (default): Uses Bun's native HTTP server implementation for optimal performance in Bun environments.\n2. **Express Server**: Uses Express.js for compatibility with Node.js environments and broader ecosystem support.\n\nYou can switch between implementations by setting the `SERVER_TYPE` environment variable:\n\n```bash\n# For Bun server (default)\nSERVER_TYPE=bun bun run start\n\n# For Express server\nSERVER_TYPE=express bun run start\n```\n\nBoth implementations provide identical functionality and API endpoints. The dual implementation approach allows for:\n\n- Testing in different environments\n- Compatibility with both Bun and Node.js deployments\n- Performance comparison between different server architectures\n\n### Testing\n\nRun the unit tests:\n\n```bash\nmake test\n# or\nbun run test\n```\n\nRun all tests including integration tests:\n\n```bash\nmake test-all\n# or\nbun run test:all\n```\n\nRun only integration tests (requires a running Obsidian instance with Local REST API):\n\n```bash\nmake test-integration\n# or\nbun run test:integration\n```\n\nThe test suite includes:\n- Unit tests with mocks for the ObsidianClient and McpServer components\n- Integration tests that test the actual communication with Obsidian\n\nNote: The application automatically handles the self-signed certificate that Obsidian's Local REST API uses by disabling SSL certificate validation. This is secure for local development but should be used with caution if exposing the API to external networks.\n\n### Linting\n\nThis project uses [oxlint](https://oxc.rs/docs/guide/usage/linter), a fast Rust-based JavaScript/TypeScript linter.\n\nRun the linter to check for issues:\n\n```bash\nmake lint\n# or\nbun run lint\n```\n\nFix automatically fixable issues:\n\n```bash\nmake lint-fix\n# or\nbun run lint:fix\n```\n\n### Available MCP Tools\n\nThe MCP server exposes the following tools:\n\n- `obsidian_get_status`: Get status information from Obsidian\n- `obsidian_get_active_file`: Get content of the currently active file in Obsidian\n- `obsidian_update_active_file`: Update the content of the currently active file in Obsidian\n- `obsidian_append_to_active_file`: Append content to the currently active file in Obsidian\n- `obsidian_patch_active_file`: Modify the active file relative to headings, blocks, or frontmatter\n- `obsidian_delete_active_file`: Delete the currently active file in Obsidian\n- `obsidian_list_files`: List files in a directory\n- `obsidian_get_file`: Get content of a file\n- `obsidian_create_or_update_file`: Create a new file or update an existing one\n- `obsidian_append_to_file`: Append content to a file\n- `obsidian_patch_file`: Modify a file relative to headings, blocks, or frontmatter\n- `obsidian_delete_file`: Delete a file\n- `obsidian_get_periodic_note`: Get current periodic note for the specified period\n- `obsidian_update_periodic_note`: Update the content of a periodic note\n- `obsidian_append_to_periodic_note`: Append content to a periodic note\n- `obsidian_delete_periodic_note`: Delete a periodic note\n- `obsidian_patch_periodic_note`: Modify a periodic note relative to headings, blocks, or frontmatter\n- `obsidian_search`: Search for content in vault with simple text queries\n- `obsidian_advanced_search`: Advanced search using JsonLogic or Dataview queries\n- `obsidian_open_document`: Open a document in Obsidian\n- `obsidian_list_commands`: List available commands in Obsidian\n- `obsidian_execute_command`: Execute a command in Obsidian\n\n## Running with SSE Support\n\nThis MCP server supports Server-Sent Events (SSE) for real-time communication with web clients. There are multiple ways to run the server with SSE support:\n\n### 1. Using Built-in SSE Mode\n\nRun the server with the SSE transport:\n\n```bash\nmake start-sse\n# or\nbun run start:sse\n# or with Docker\ndocker run -p 3000:3000 \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=sse \\\n  beshkenadze/mcp-obsidian\n```\n\nThis uses [Supergateway](https://github.com/supercorp-ai/supergateway) for SSE implementation and listens on the configured port.\n\n### 2. Using Supergateway Directly\n\nYou can also run the server with the dedicated supergateway script:\n\n```bash\n# Run with supergateway\nbun run start:supergateway\n# or with Docker\ndocker run -p 3000:3000 \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=stdio \\\n  beshkenadze/mcp-obsidian\n```\n\nBoth options provide:\n\n- SSE endpoint at: `http://localhost:3000/sse`\n- Message endpoint at: `http://localhost:3000/message`\n- CORS support for cross-origin requests\n- Health endpoint at: `http://localhost:3000/healthz`\n- Improved compatibility with various MCP clients\n\n## Building for Production\n\nTo build a production version:\n\n```bash\nmake build\n# or\nbun run build\n```\n\nThis will create a build in the `dist` directory.\n\n## Available Makefile Commands\n\nFor convenience, this project includes a Makefile with the following commands:\n\n- `make install` - Install dependencies\n- `make build` - Build the project\n- `make lint` - Run linter\n- `make lint-fix` - Run linter with autofix\n- `make test` - Run unit tests\n- `make test-all` - Run all tests\n- `make test-integration` - Run integration tests\n- `make generate-types` - Generate TypeScript types\n- `make start` - Start the application\n- `make start-sse` - Start the application with SSE transport\n- `make precommit` - Run precommit checks\n- `make clean` - Clean build artifacts\n- `make docker-build` - Build Docker image\n- `make docker-run` - Run Docker container (HTTP mode)\n- `make docker-run-sse` - Run Docker container with SSE transport\n- `make docker-run-stdio` - Run Docker container with stdio transport\n- `make docker-run-supergateway` - Run Docker container with supergateway\n- `make act-build` - Test build GitHub Action locally\n- `make act-lint` - Test lint GitHub Action locally\n- `make act-test` - Test test GitHub Action locally\n- `make act-release-dry` - Test release GitHub Action locally (dry run)\n- `make act-release` - Test release GitHub Action locally\n- `make help` - Display help information about available commands\n\n## Using as an MCP Server\n\nThis package follows the Model Context Protocol server standard and can be used with any MCP client.\n\n### Using with npx (npm Registry - No Authentication Required)\n\nYou can use this package directly from npm without authentication:\n\n```bash\nnpx @beshkenadze/mcp-obsidian\n```\n\n### Using with Docker (Recommended for Anonymous Access)\n\nThe recommended way to use this MCP server without authentication is via Docker:\n\n```bash\n# Pull the public Docker image (no authentication required)\ndocker pull beshkenadze/mcp-obsidian\n\n# Run with stdio transport for MCP client integration\ndocker run -i \\\n  -e OBSIDIAN_API_KEY=your_api_key_here \\\n  -e OBSIDIAN_BASE_URL=https://host.docker.internal:27124 \\\n  -e TRANSPORT_TYPE=stdio \\\n  beshkenadze/mcp-obsidian\n```\n\nThis method requires no GitHub authentication and works out of the box with any MCP client.\n\n### Setting Up Anonymous Access\n\nTo use this MCP server anonymously:\n\n1. **Use npm directly**: The package is available on the npm registry without authentication requirements.\n2. **Use the Docker approach**: The Docker image is publicly available without authentication requirements.\n3. No GitHub tokens or authentication needed.\n4. The only authentication you'll need is your Obsidian API key, which is for Obsidian access, not package access.\n\n### Using with npx (GitHub Packages - Requires Authentication)\n\nSince this package is also hosted on GitHub's package registry, you can use it from there with authentication:\n\n1. Create or update your `~/.npmrc` file with your GitHub authentication:\n   ```bash\n   @beshkenadze:registry=https://npm.pkg.github.com\n   //npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN\n   ```\n   \n   You'll need a GitHub personal access token with the `read:packages` scope.\n\n2. Then run:\n   ```bash\n   npx @beshkenadze/mcp-obsidian\n   ```\n\n### Configuring in Claude Desktop\n\nTo use this MCP server with Claude Desktop, add it to your Claude Desktop configuration:\n\n#### Option 1: Using Docker (Recommended for Anonymous Access)\n\nThis method doesn't require GitHub authentication:\n\n```json\n{\n  \"mcpServers\": {\n    \"obsidian\": {\n      \"command\": \"docker\",\n      \"args\": [\"run\", \"-i\", \"beshkenadze/mcp-obsidian\"],\n      \"env\": {\n        \"OBSIDIAN_API_KEY\": \"your_api_key_here\",\n        \"OBSIDIAN_BASE_URL\": \"https://host.docker.internal:27124\",\n        \"TRANSPORT_TYPE\": \"stdio\"\n      }\n    }\n  }\n}\n```\n\n#### Option 2: Using npx with GitHub authentication\n\nThis method requires GitHub authentication:\n\n```json\n{\n  \"mcpServers\": {\n    \"obsidian\": {\n      \"command\": \"npx\",\n      \"args\": [\"@beshkenadze/mcp-obsidian\"],\n      \"env\": {\n        \"OBSIDIAN_API_KEY\": \"your_api_key_here\",\n        \"NPM_CONFIG_REGISTRY\": \"https://registry.npmjs.org\",\n        \"NPM_CONFIG__AUTH_TYPES\": \"legacy\",\n        \"NPM_CONFIG__AUTHTOKEN\": \"YOUR_GITHUB_TOKEN\",\n        \"NPM_CONFIG__REGISTRY_SCOPES\": \"@beshkenadze\",\n        \"NPM_CONFIG__REGISTRIES_@BESHKENADZE\": \"https://npm.pkg.github.com\"\n      }\n    }\n  }\n}\n```\n\n### Configuring in Other MCP Clients\n\nMany MCP clients like Continue, Cursor, LibreChat, and others support MCP servers. Refer to your client's documentation for specific configuration details.\n\n### Installation as a Package\n\nIf you want to install the package locally (requires GitHub authentication):\n\n```bash\n# Add to .npmrc\n@beshkenadze:registry=https://npm.pkg.github.com\n//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN\n\n# Then install\nnpm install @beshkenadze/mcp-obsidian\n# or\nyarn add @beshkenadze/mcp-obsidian\n# or\nbun add @beshkenadze/mcp-obsidian\n```\n\n> **Note**: For anonymous access without GitHub authentication, use the Docker method described above.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","readmeFilename":"README.md"}