MCP servers › io.github.maxkuminov › obsidian-mcp
MCP server · registry snapshot 2026-11-01 · last checked 2026-11-01
io.github.maxkuminov/obsidian-mcp
Obsidian MCP Server — the publisher's title
by maxkuminov · GitHub account (the registry's namespace rule)repository: same ownerSource ↗Website ↗
Self-hosted agent memory as a markdown vault: semantic and keyword search, wikilink graph, OAuth — the publisher's description
Summary
io.github.maxkuminov/obsidian-mcp is a local MCP server listed in the official MCP registry at version 1.0.0, under the namespace of the GitHub account maxkuminov. Its linked repository, github.com/maxkuminov/obsidian-mcp, belongs to the same GitHub account.
Record checks
4 of 5 record checks met · 4 do not apply
- met: Registry entry is active and says how to run it
- met: Source repository link opens
- met: Repository is not archived
- met: Code pushed to the repository in the 90 days before our check
- not met: Repository publishes a security policy (SECURITY.md)
- not applicable: Package names its licence with a standard (SPDX) identifier
- not applicable: The version the registry lists can be installed and is not withdrawn
- not applicable: npm package carries build provenance (attestation)
- not applicable: No known critical or high advisory in the package or its dependencies
- Not ranked by downloads: not an npm or PyPI package
- #2,111 of 24,930 repositories by GitHub stars, tied with 61 others
From public records, not a safety rating. Each check with its reason · Is it safe to install?
Operate this server? Correct a fact · README badge · Run the checks yourself
Key facts
- Runs
- local package
- Transport
- streamable HTTP
- Your own values
- secrets: DATABASE_URL, SECRET_KEY · settings: VAULT_PATH, MCP_HOSTNAME
- Package
- Docker (OCI)
- Repository
- public
- Last tested
- not tested
Tool list
Not read: It requires a credential (a key or token) that the publisher marks as required. We never fill in credentials, so we did not start it. So there is no tool-list size and no result from the three APIs.
How fresh this is
- Live-tested
- no
- Last tested
- not tested
- Latest version
- 1.0.0, published 2026-11-01 (registry, as of the 2026-11-01 snapshot)
- First listed version
- 2026-10-29 (earliest version still in the registry; older removed versions would be earlier)
- Version history
- 3 versions listed, 2026-10-29 to 2026-11-01; 3 in the 90 days before the 2026-11-01 snapshot.(versions still listed in the registry only)
Most recent 3 versions
1.0.0· 2026-11-010.10.0· 2026-10-310.9.3· 2026-10-29
- Registry data
- snapshot 2026-11-01
- Package and repository
- checked 2026-11-01
Dead or stale signals
None found in the records we hold
Looked for and not found: deprecated in the registry; repository link does not open; repository archived; no push in over 365 days. Does not apply: listed version cannot be installed or is withdrawn. Each line is a dated fact from a public record. It does not say whether the server still works, and a record can change after the date shown.
Changes since the last refresh
Version 0.10.0 (published 2026-10-31) → 1.0.0 (published 2026-11-01), between the registry lists of 2026-10-31 and 2026-11-01.
The publisher’s GitHub release note for v1.0.0 (“v1.0.0 — tool-contract freeze, scoped tools/list, CIMD, tags in keyword search, chunk minimum, reranker documents, search confidence”), published 2026-11-01.
Read the release note (the publisher’s text, shown as plain text, cut at 4,000 characters)
Eight changes since v0.10.0, and the first release whose version number promises the tool contract: `hybrid_search` and `semantic_search` pages carry `confidence: ok | low`, shipped off (#389); chunks have a 200-character minimum and end on word boundaries, `CHUNKING_VERSION` 2 (#390); tags are in the keyword vector and `matched_in` gains `tags`, migration 035 (#391); the docs recommend Qwen3-Embedding for local embeddings and describe the reranker reference setup (#405); `tools/list` follows the credential, so a read-only OAuth grant lists 19 tools, and the 28-tool contract fixture is frozen (#358); the OAuth server accepts Client ID Metadata Documents with DCR as the fallback, migration 036 (#357); the search-evaluation harness gains a mechanical `gate` step (#411); and `rerank=true` sends each note's embedded text for up to four of its fetched chunks and scores the note on the best of them, with `RERANK_MAX_DOCUMENTS` (#402). ## Upgrade notes - **Two migrations, 035 and 036**, run by the init container on Kubernetes or by `make deploy` on compose (which stops the app first). Neither refuses startup or needs `make reset-embeddings`. With `Recreate`, a direct upgrade from v0.10.0 is one downtime window. - **Before upgrading, run the 035 preflight.** DEPLOYMENT.md, "Upgrading across migration 035", has a read-only statement (counts and ids only; a one-config and a multi-config form). `flagged` must be `0`. A flagged note is shortened (body or tags) and re-indexed by the current image first. - **035 (tags in the keyword vector)** rewrites every tagged vector once, in SQL, under the index generation lock: about 30–40 seconds for 4,265 synthetic notes of 1,800 words with three tags each, added to the `Recreate` gap. It is all or nothing, with a size preflight that aborts naming row ids before any UPDATE. **Under `Recreate` an abort is downtime** until the image digest is reverted. If you migrate by hand, stop the app first: an old-image process that writes a vector after 035 commits writes it without tags. Nothing is re-embedded. `make rebuild-tsvectors` afterwards is optional (it makes shifted body positions byte-exact). Rollback: `alembic downgrade 034` with the new image, then the old image. - **036 (CIMD)** adds `oauth_clients.client_id_metadata_url` and the CHECK `ck_oauth_clients_cimd_shape`, with no backfill, in seconds. **Its downgrade refuses while any CIMD client row exists**: delete those clients on the panel's OAuth page first (their grants go with them, and their users reconnect). - **Connectors switch to CIMD on their next fresh connection.** The AS metadata advertises `client_id_metadata_document_supported: true`; claude.ai, Claude Code and ChatGPT then send an `https` `client_id` instead of calling `/register`. Existing DCR grants are untouched, and DCR stays the fallback for a client that sends no URL. Claude Code can now complete on a loopback callback. - The consent page names the application by its document URL's host, shows the full URL and "First approved", and does not render the document's self-declared `client_name` (panel-only). An all-loopback client gets an extra warning. Its CSP `form-action` gains `http://localhost:*` and `http://127.0.0.1:*`. - Every authorization redirect carries `iss` (RFC 9207). `resource` (RFC 8707) is classified in the security log and never refused; enforcement is #404, after 14 consecutive days with no `resource_class: unexpected`. - The server fetches each client's metadata document over `https`, through the `import_from_url` SSRF policy. An egress policy that blocks public HTTPS breaks CIMD (`invalid_client`; `client_metadata.fetch_failed` or `client_metadata.ssrf_refused` in the log). - Rollback lever: `OAUTH_CIMD_ENABLED=false` and a recreate, no rebuild. Clients fall back to DCR, and CIMD grants keep refreshing. - **Read-only OAuth grants list 19 tools.** A grant without `readwrite` no longer lists the nine write-required tools (`create_note`, `edit_note`, `mov
Source: the official MCP Registry list on 2026-10-31 and on 2026-11-01; release notes from the GitHub Releases API, checked 2026-11-01.
What it is
How do I add it to my client?
Config from the registry entry
- No config: the Docker image starts a local web server (streamable-http); the registry entry does not give the address to connect to.
Built from the server's registry entry with each client's documented format (checked 2026-10-14; the Cursor link and the VS Code command 2026-10-19; the MCP Inspector command 2026-10-21; Cline, Gemini CLI, OpenAI Codex and Zed 2026-10-26). Values in < > are yours to fill in; this page never contains a key. Where the server needs a setting the entry does not declare, it can still fail to start.
Does the registry listing match what we found?
Feature #6The registry checks an entry when it is published (each new version), and nothing re-checks it on a schedule. A difference below is about the listing, not a judgement of the publisher.
| Registry says | We found | Result | Source · date |
|---|---|---|---|
| Repository github.com/maxkuminov/obsidian-mcp | Opens publicly | matches | api.github.com · 2026-11-01 |
Who made it?
Feature #7 · lineage
Facts about the publisher. We do not turn them into a trust score.
- Namespace
- io.github.maxkuminov
- GitHub owner
- a personal account (maxkuminov)
- Repository
- github.com/maxkuminov/obsidian-mcp
- Stars
- 18
- Repository age
- 181–365 days
- Last push
- 0–30 days ago
- Archived
- no
- Security policy
- none found (we looked for SECURITY.md in the repository and in its owner’s .github repository)
Source: the registry entry and api.github.com · 2026-11-01; security policy read from GitHub · 2026-11-01.
Publish this server? Run these checks against it yourself before release, from your own machine: a server the command starts, or your own server at its URL after a one-time proof that you control it: npx protocolprobe-selftest.
Choosing
Record checks
Public records · not a safety rating4 of 5 record checks met · 4 do not apply
- Not ranked by downloads: not an npm or PyPI package
- #2,111 of 24,930 repositories by GitHub stars, tied with 61 others
- MetRegistry entry is active and says how to run itActive, with a package or a remote address.
- MetSource repository link opensThe linked GitHub repository is public.
- MetRepository is not archivedNot archived.
- MetCode pushed to the repository in the 90 days before our checkLast push 0-30 days before our check.
- Not metRepository publishes a security policy (SECURITY.md)No SECURITY.md in the places GitHub reads it from.What changes this check: GitHub's documentation describes adding a SECURITY.md from the repository's security settings: under Reporting, Security policy, Start setup. GitHub: adding a security policy
- Does not applyPackage names its licence with a standard (SPDX) identifierNot an npm or PyPI package.
- Does not applyThe version the registry lists can be installed and is not withdrawnNot an npm or PyPI package.
- Does not applynpm package carries build provenance (attestation)PyPI packages have no npm-style attestation.
- Does not applyNo known critical or high advisory in the package or its dependenciesNot an npm or PyPI package.
Read from public records only: the registry entry, npm/PyPI, GitHub and advisory databases, checked 2026-11-01 (security policy 2026-11-01). No tool was called. Only “met” and “not met” are counted, so the total differs between servers; a check that does not apply or that we could not run is listed, never counted against it. It is not a safety rating, and the same rules apply to every server. How each check works · Leaderboards · How we stay neutral
Common questions about io.github.maxkuminov/obsidian-mcp
Answered from the data aboveWho publishes io.github.maxkuminov/obsidian-mcp?
The registry ties the namespace io.github.maxkuminov to the GitHub account maxkuminov; only its owner can publish under it. Its linked repository, github.com/maxkuminov/obsidian-mcp, belongs to the same GitHub account. These are facts from the registry and GitHub, not a rating.
Is io.github.maxkuminov/obsidian-mcp safe to install?
We do not rate servers as safe or unsafe. 4 of its 5 applicable record checks are met (facts from public records, each listed on this page). What the records show: Its source repository opens publicly. Its repository had a push in the last 90 days. These are facts with their sources on this page, not a safety guarantee, and we did not run its tools.
Has io.github.maxkuminov/obsidian-mcp been security tested?
No. It requires a credential (a key or token) that the publisher marks as required. We never fill in credentials, so we did not start it.
Does io.github.maxkuminov/obsidian-mcp publish a security policy?
We found no SECURITY.md in its repository (root, .github/ or docs/) or in its owner's .github repository.
Where is the source code of io.github.maxkuminov/obsidian-mcp?
In github.com/maxkuminov/obsidian-mcp, which opens publicly.
Found this page useful?
Anonymous · no sign-inA quick, anonymous reaction — no account, no email. One per kind from your browser. The tally updates when the page is next refreshed, and it is only a rough count, never a safety rating or a measured number of people.
Compare with another server
Side by side: registry entry, our read-only session, the tools and the 18 classification fields. Same values as each page; no score.
Security testing
Has it been tested?
Feature #1It requires a credential (a key or token) that the publisher marks as required. We never fill in credentials, so we did not start it. — the server's own choice
Required inputs the publisher declares: DATABASE_URL (secret), SECRET_KEY (secret), MCP_HOSTNAME.
Reference
How is it classified?
18 fields
One value per field, each with its source. Fields written by AI models are marked. A field with no value says why.
“Not stated” means the source did not state it; “does not apply” means it does not apply to this kind of server; “our limit” means our own lookup failed. A linked value opens the directory filtered to the same value.
Cite or correct this page
Sources and corrections
Suggested citation
ProtocolProbe. “io.github.maxkuminov/obsidian-mcp: MCP server record.” Data checked 2026-11-01. https://protocolprobe.com/mcp/servers/io.github.maxkuminov/obsidian-mcp
Figures are valid for the date shown. Our facts on this page are CC BY 4.0: reuse them with a link and the check date. Quoted text (the publisher’s descriptions, website quotes, tool names) is not ours to license.
As JSON: this record in the API · API documentation.
Badge for your README
[](https://protocolprobe.com/mcp/servers/io.github.maxkuminov/obsidian-mcp)
It shows this server's record-check count: facts from public records, no tool called. It is not a security rating or a pass. It links here and updates after each data reload.
Something wrong, or is this yours?
If a fact here is wrong, tell us and we will re-check it. If you operate this server, you can run our checks on it yourself with the free self-test command; we call no server’s tools ourselves for anything shown here.
Write to hello@protocolprobe.com · corrections log · methodology