Skip to content

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

4 of 5 record checks metversion 1.0.0Pythonstreamable HTTP

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.

Add to your client

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.
Most recent 3 versions
  • 1.0.0 · 2026-11-01
  • 0.10.0 · 2026-10-31
  • 0.9.3 · 2026-10-29
(versions still listed in the registry only)
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

The release on GitHub

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 #6

The 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 saysWe foundResultSource · date
Repository github.com/maxkuminov/obsidian-mcpOpens publiclymatchesapi.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 rating

4 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 above

Who 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-in

A 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 #1

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. — 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.

TopicAI-classified
pending: added in the weekly update
listed 2026-11-01; not classified yet
Pricing modelAI-classified
pending: added in the weekly update
the website is not read yet
Programming language
api.github.com · 2026-11-01
Hosting type
registry · 2026-11-01
MCP capability
not checked
not read (no session)
Transport
streamable HTTP
registry · 2026-11-01
Required credentials
requires a secret
registry · 2026-11-01 · no declaration is not a guarantee
Package registry
registry · 2026-11-01
Freshness
0–30 days
registry updatedAt · 2026-11-01
Lifecycle status
registry · 2026-11-01
License class
does not apply
package ecosystem not queried by this layer (oci); only npm and PyPI are supported here
Integrity hash
does not apply
package ecosystem not queried by this layer (oci); only npm and PyPI are supported here
Signature / provenance
does not apply
package ecosystem not queried by this layer (oci); only npm and PyPI are supported here
Dependency advisories
not checked
only npm and PyPI packages are audited
Popularity
does not apply
package ecosystem not queried by this layer (oci); only npm and PyPI are supported here
Publisher signals
owner: a personal account · repository age: 181–365 days · stars: 10–99
api.github.com · 2026-11-01
Maintenance
api.github.com · 2026-11-01
Environment
your machine
where it runs, from the hosting type · 2026-11-01

“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

ProtocolProbe: 4 of 5 record checks met

[![ProtocolProbe](https://protocolprobe.com/api/v1/badge/io.github.maxkuminov/obsidian-mcp)](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