Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Descripción del creador (original en inglés)
Read, write, search, and surgically edit Obsidian notes, tags, and frontmatter via MCP.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
OBSIDIAN_API_KEY, OBSIDIAN_BASE_URL, OBSIDIAN_VERIFY_SSL, OBSIDIAN_REQUEST_TIMEOUT_MS, OBSIDIAN_ENABLE_COMMANDS, OBSIDIAN_READ_PATHS, OBSIDIAN_WRITE_PATHS, OBSIDIAN_DENY_PATHS, OBSIDIAN_READ_ONLY, OBSIDIAN_DELETE_ELICITATION, OBSIDIAN_OMNISEARCH_URL, MCP_LOG_LEVELNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "your-value",
"OBSIDIAN_BASE_URL": "your-value",
"OBSIDIAN_VERIFY_SSL": "your-value",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "your-value",
"OBSIDIAN_ENABLE_COMMANDS": "your-value",
"OBSIDIAN_READ_PATHS": "your-value",
"OBSIDIAN_WRITE_PATHS": "your-value",
"OBSIDIAN_DENY_PATHS": "your-value",
"OBSIDIAN_READ_ONLY": "your-value",
"OBSIDIAN_DELETE_ELICITATION": "your-value",
"OBSIDIAN_OMNISEARCH_URL": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add obsidian --env OBSIDIAN_API_KEY=your-value --env OBSIDIAN_BASE_URL=your-value --env OBSIDIAN_VERIFY_SSL=your-value --env OBSIDIAN_REQUEST_TIMEOUT_MS=your-value --env OBSIDIAN_ENABLE_COMMANDS=your-value --env OBSIDIAN_READ_PATHS=your-value --env OBSIDIAN_WRITE_PATHS=your-value --env OBSIDIAN_DENY_PATHS=your-value --env OBSIDIAN_READ_ONLY=your-value --env OBSIDIAN_DELETE_ELICITATION=your-value --env OBSIDIAN_OMNISEARCH_URL=your-value --env MCP_LOG_LEVEL=your-value -- npx -y obsidian-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "your-value",
"OBSIDIAN_BASE_URL": "your-value",
"OBSIDIAN_VERIFY_SSL": "your-value",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "your-value",
"OBSIDIAN_ENABLE_COMMANDS": "your-value",
"OBSIDIAN_READ_PATHS": "your-value",
"OBSIDIAN_WRITE_PATHS": "your-value",
"OBSIDIAN_DENY_PATHS": "your-value",
"OBSIDIAN_READ_ONLY": "your-value",
"OBSIDIAN_DELETE_ELICITATION": "your-value",
"OBSIDIAN_OMNISEARCH_URL": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"obsidian": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"obsidian-mcp-server"
],
"env": {
"OBSIDIAN_API_KEY": "your-value",
"OBSIDIAN_BASE_URL": "your-value",
"OBSIDIAN_VERIFY_SSL": "your-value",
"OBSIDIAN_REQUEST_TIMEOUT_MS": "your-value",
"OBSIDIAN_ENABLE_COMMANDS": "your-value",
"OBSIDIAN_READ_PATHS": "your-value",
"OBSIDIAN_WRITE_PATHS": "your-value",
"OBSIDIAN_DENY_PATHS": "your-value",
"OBSIDIAN_READ_ONLY": "your-value",
"OBSIDIAN_DELETE_ELICITATION": "your-value",
"OBSIDIAN_OMNISEARCH_URL": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
OBSIDIAN_BASE_URL envOBSIDIAN_VERIFY_SSL envOBSIDIAN_REQUEST_TIMEOUT_MS envOBSIDIAN_ENABLE_COMMANDS envOBSIDIAN_READ_PATHS envOBSIDIAN_WRITE_PATHS envOBSIDIAN_DENY_PATHS envOBSIDIAN_READ_ONLY envOBSIDIAN_DELETE_ELICITATION envOBSIDIAN_OMNISEARCH_URL envMCP_LOG_LEVEL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub cyanheads, dueña del repo
Último cambio de código: hace 8 días
Usa Apache-2.0
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: OBSIDIAN_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 8 días, y la última versión (3.8.0) llegó al registro hace 8 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
obsidian-mcp-server Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP. 14 Tools • 3 Resources
Your Obsidian vault, through the Local REST API plugin. Read, search, and write notes, edit a single heading, block, or frontmatter field in place, and manage tags, with folder-scoped read/write permissions built in.
| Tool | Description |
|---|---|
obsidian_get_note | Read a note as raw content, full structured form, document map, or a single section |
obsidian_list_notes | List notes and folders under a vault path, recursively, with extension and name filters |
obsidian_list_tags | List vault tags with usage counts, most-used first |
obsidian_search_notes | Search by text, JSONLogic, or BM25-ranked Omnisearch when that plugin is reachable |
obsidian_write_note | Create a note, replace one section, or overwrite a whole file with overwrite: true |
obsidian_append_to_note | Append to a note (creating it if missing) or to one heading, block, or frontmatter field |
obsidian_patch_note | Append, prepend, or replace against one heading, block reference, or frontmatter field |
obsidian_replace_in_note | Literal or regex search-replace inside one note, body-only by default |
obsidian_manage_frontmatter | Get, set, or delete one frontmatter key |
obsidian_manage_tags | Add, remove, or list a note's tags in frontmatter, inline, or both |
obsidian_delete_note | Permanently delete a note, optionally after the user confirms (OBSIDIAN_DELETE_ELICITATION) |
obsidian_open_in_ui | Open a file in the Obsidian app, optionally in a new pane |
obsidian_list_commands | List command-palette commands (opt-in via OBSIDIAN_ENABLE_COMMANDS) |
obsidian_execute_command | Run a command-palette command by ID (opt-in via OBSIDIAN_ENABLE_COMMANDS) |
| Resource | Description |
|---|---|
obsidian://vault/{+path} | A note's content, frontmatter, tags, and file metadata |
obsidian://tags | Every vault tag with its usage count, as an uncapped snapshot |
obsidian://status | Plugin reachability, auth status, versions, and registered API extensions |
Note and tag data are also reachable through tools (obsidian_get_note, obsidian_list_tags); obsidian://status has no tool equivalent.
obsidian_get_note tooltarget is a vault path, the active file, or a periodic note (daily through yearly, optional date); format is content, full, document-map, or section, and full takes includeLinks: true for vault-internal outgoing linksresult.format discriminates the payload; a section read that matches several headings returns the first and lists every full path in candidatespath with no exact match but one case-insensitive match in its folder reads that file: result.path is the real name, requestedPath the one sent, and a notice names bothobsidian_list_notes toolpath (default vault root) to depth 1–20 (default 2), filtered by extension and nameRegex (≤256 chars); a folder that fails nameRegex is not walkedentries[] (file / directory), totals, and appliedFilters; the walk stops at 1,000 entries with excluded.reason: "entry_cap", and a folder the depth limit stopped carries truncated: trueOBSIDIAN_READ_PATHS or OBSIDIAN_DENY_PATHS set, a listing holds only readable entries and the folders leading to the scope; those folders are walked and accepted as path, and a denied folder is absent at every depthobsidian_list_tags toolnameRegex (≤256 chars) and minCount narrow the set, then tags are ranked by count and capped at limit (default 200, max 10000); hierarchical parents count (work/tasks adds to work)truncated, shown, and capOBSIDIAN_READ_PATHS or OBSIDIAN_DENY_PATHS set, only tags from readable notes are listed, and count is the number of readable notes carrying the tag or a tag nested under itobsidian_search_notes toolmode: "text" requires every space-separated token of query as a case-insensitive substring of the filename or body (quotes are literal), shaped by contextLength (default 100), pathPrefix, and maxMatchesPerHit (default 10); mode: "jsonlogic" evaluates a logic tree over path, content, frontmatter. , tags, and stat (plus links, backlinks, and unresolvedLinks on plugin versions that provide them, and not under OBSIDIAN_READ_PATHS or OBSIDIAN_DENY_PATHS), with glob / regexp taking [PATTERN, VALUE]result.mode discriminates the payload; every mode reports totalCount and pages via nextCursor, and a text hit clipped to maxMatchesPerHit carries truncated and totalMatchesmode: "omnisearch" (BM25 ranking, quoted phrases, -exclusion, path: / ext: filters) is offered only when the Omnisearch plugin answered at startup. It keeps its top 50 hits; path:, ext:, and plain terms apply before that cap, quoted phrases and -exclusion after it. truncated: true marks a result the cap may have cut, with truncatedReason cap_reached, filtered_after_cap, or read_scope; under OBSIDIAN_READ_PATHS or OBSIDIAN_DENY_PATHS it is always true, and a hit's membership and score still depend on the whole vaultobsidian_write_note tooltarget and content, with optional section and contentType (markdown / json); a whole-file write to an existing note fails with file_exists unless overwrite: truecase_variant_exists and writes nothing; existingPath names that note when the parent folder's listing shows exactly one case match, and is omitted when several match or when a file Obsidian does not index (a dot-file) sits at the pathsection, replaces only that heading, block, or frontmatter field and keeps the heading line; output reports created, sectionTargeted, and the resolved sectionTargetobsidian_append_to_note toolsection, appends to the file or creates it (created: true); with section, appends to that heading, block, or frontmatter field of an existing note, and createTargetIfMissing: true creates the sectioncontent_preexists; block targets add no separator, so start content with a newline if you want onecase_variant_exists on a case-insensitive filesystem, with existingPath naming that note when the parent folder's listing shows exactly one case matchobsidian_patch_note tooloperation: "append" | "prepend" | "replace" against one section of an existing note; patchOptions takes createTargetIfMissing, applyIfContentPreexists, and trimTargetWhitespace (plugin v4.x only)section and operation; a repeat of content already at the target fails with content_preexists unless applyIfContentPreexists: trueobsidian_replace_in_note toolreplacements[] run in order, each over the previous one's output; each takes useRegex (≤1024 chars), caseSensitive (default true), wholeWord, flexibleWhitespace (literal mode only), and replaceAll (default true)totalReplacements and perReplacement[] with bodyCount / frontmatterCountscope: "body" (default) leaves frontmatter byte-identical; "frontmatter" and "both" re-parse the YAML afterward and write nothing if it breaks (frontmatter_invalid)obsidian_manage_frontmatter tooloperation: "get" | "set" | "delete" on one key; set requires a JSON-typed valueget returns exists and value (null when absent); set and delete return the full frontmatter after the change, and a delete against unparseable YAML fails with frontmatter_invalid without writingobsidian_manage_tags tooloperation: "add" | "remove" | "list" with tags; location: "frontmatter" (default, the tags: array), "inline" (body #tag; add appends at end of file), or "both"add / remove report applied, skipped, and the resulting tags; list returns frontmatter, inline, and all%% … %% comments are readobsidian_delete_note tooltarget (path, active file, or periodic note) and checks it against the write scope first; a folder path fails with path_is_directory. There is no API-level undo, only Obsidian's local trashnote_missing before anything is deleted, naming the near matches in suggestionsOBSIDIAN_WRITE_PATHS, OBSIDIAN_DENY_PATHS, and OBSIDIAN_READ_ONLY bound what it can reachOBSIDIAN_DELETE_ELICITATION=true, the first call answers with a confirmation request naming the path and byte size, and the note is deleted only after the user accepts. Declining fails with cancelled, and a client without elicitation support cannot delete