obsidian-bridge
GrokBot ↔ Obsidian Bridge
Un pequeño proxy inverso OAuth de cierre ante fallos que permite que Grok Bot y otros clientes MCP compatibles accedan a una bóveda de Obsidian autoalojada. El proceso público termina la aprobación del propietario. El HTTP Streamable autenticado se reenvía únicamente a un backend MCP de Optimike Obsidian en loopback.

Este repositorio usa por defecto el perfil de herramientas standard y el tiempo de ejecución headless-readonly. No contiene ninguna bóveda real, nombre de host, credencial, ruta privada ni nota.
Cómo funciona
Clona este repositorio y ejecuta el instalador guiado.
El instalador fija y compila el MCP público Optimike Obsidian
v3.0.0, instala el puente en un venv local y escribe un archivo de entorno con permisos 600. No inicia el proxy, no inicia Optimike ni toca una bóveda.Tú mismo inicias Optimike en loopback, luego inicias este proxy en loopback y después pones HTTPS delante del proxy.
Grok Bot descubre OAuth, registra un cliente y espera la aprobación del propietario. Tras el intercambio PKCE, llama a
/mcp. El proxy elimina los secretos del cliente y reenvía la sesión a Optimike.
El código fuente de Optimike no está incluido aquí. Consulta docs/UPSTREAM.md.
Related MCP server: obsidian-vault-mcp
Requisitos
Python 3.11+
Node.js 22.7.5+ y npm
git
Un nombre de host HTTPS público que reenvíe a
127.0.0.1:8099Un checkout de Optimike fijado por el instalador a la etiqueta
v3.0.0(0a40387206a19deb6430f9b61b81fc7a07704717)Una copia de la bóveda que ya administres. Este instalador nunca crea, abre ni modifica una.
Un comando después de clonar
./scripts/install.sh --non-interactiveEl script rechaza root y sudo, nunca canaliza una descarga a un shell y nunca imprime el código de propietario generado. Luego inspecciona el estado:
python3 scripts/doctor.pyCompleta el marcador de posición restante de la bóveda local en .env.local. Inicia Optimike tú mismo con headless-readonly, standard, readonly, autenticación JWT de producción y el secreto interno generado:
set -a
. ./.env.local
set +a
cd .runtime/upstream
NODE_ENV=production MCP_TRANSPORT_TYPE=http MCP_HTTP_HOST=127.0.0.1 \
MCP_HTTP_PORT=3010 MCP_AUTH_MODE=jwt \
MCP_AUTH_SECRET_KEY="$OBSIDIAN_BRIDGE_UPSTREAM_JWT_SECRET" \
node dist/index.jsEn una segunda terminal, inicia el proxy OAuth público:
.venv/bin/python -m obsidian_bridge serveGET /health debería devolver {"status":"ok"}. No expongas el puerto de Python directamente.
Configurar el plugin
python3 scripts/configure_plugin.py https://mcp.example.com/mcpLos mcp.json y .mcp.json generados contienen solo la URL pública. No agregues un encabezado Authorization. Grok Bot, Codex y Cursor usan descubrimiento OAuth y PKCE.
Añadir Composio junto a este puente
El consejo de Corey Ganim sobre Grok Bot usa Composio Connect para ir más allá del catálogo nativo de conectores de un cliente. Composio describe Connect como un único endpoint MCP alojado para más de 1000 aplicaciones a través de 7 metaherramientas. No es literalmente cada servidor MCP, y no está incluido en este repositorio.
Mantén las dos conexiones separadas:
Cliente | Este repositorio | Conexión opcional de Composio |
Grok Bot | Instala el plugin de Grok y conecta | Añade Composio Connect como segundo conector MCP |
Cursor | Instala el plugin de Cursor o añade esta URL MCP | Añade Composio Connect como segundo servidor MCP |
Codex | Instala el plugin de Codex o añade esta URL MCP | Prefiere el plugin nativo de Codex de Composio, o elige Connect MCP explícitamente |
Los manifiestos .grok-plugin, .cursor-plugin y .codex-plugin aquí instalan
solo el puente de Obsidian de solo lectura. El tráfico de Composio no pasa por la
bóveda y Composio no reemplaza este puente. Consulta el
tutorial para
el modelo de configuración completo y los límites de seguridad.
Modelo de seguridad
OAuth 2.1 de propietario único con DCR, PKCE S256 y tokens de actualización rotativos
el código de propietario es obligatorio en la página de aprobación y nunca es un token de portador
enlace en loopback; TLS permanece fuera de este proceso
el token de portador del cliente se elimina y se reemplaza con un JWT interno de corta duración y firmado por separado antes de que Optimike vea la solicitud
/mcp/fully los modos no solo lectura fallan de forma cerradalos secretos permanecen en un archivo local con permisos 600 y fuera de git, argv y stdout
Lee docs/SECURITY.md y docs/ARCHITECTURE.md antes de exponer el
endpoint.
Prueba y auditoría
python3 -m unittest discover -s tests -v
python3 src/privacy_scan.py --root .
python3 scripts/audit_git_history.pyLicencia
Este puente es MIT. Optimike Obsidian MCP sigue siendo un proyecto separado
con licencia Apache-2.0 y no se copia en este árbol. Consulta docs/UPSTREAM.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for Obsidian vaults — search, memory, link graph, 23 tools, OAuth-protected. Runs locally via Docker or remotely with Obsidian Sync + OAuth 2.1.4301,20417MIT
- AlicenseNot gradedqualityBmaintenanceMulti-tenant remote MCP server that exposes any GitHub-backed Obsidian vault to any MCP client via OAuth authentication.9MIT
- AlicenseNot gradedqualityBmaintenanceActs as a secure OAuth 2.0/2.1 proxy gateway for MCP servers, enabling integration with Claude and ChatGPT platforms.12MIT
- FlicenseDqualityCmaintenanceEnables Claude Desktop to securely search and retrieve knowledge from an Obsidian vault through a stateless MCP interface, with progressive disclosure and gated write capabilities.13
Related MCP Connectors
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iamsupersocks/grokbot-obsidian-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server