Provider hosted
Tools: 20

Obsidian

Jorge MM Marques

Transformo processos manuais frágeis em ferramentas Python/Playwright testadas e usadas em produção — com uma prática artística intermedia sobre a mesma stack.

https://jorgemarques.com/

Use in your AI tool

Connect straight to this server’s public endpoint.

Remote MCP URL
https://mcp.jorgemarques.com/mcp

Use on MCPBundles

We add this server to your workspace, walk through sign-in once, then open Studio with tools ready to run.

Last probed Sep 14, 2026 · mcp.jorgemarques.com

20tools discovered

Tools discovered (20)

  • Session Start

    Call ONCE at conversation start — never repeat in the same chat. Returns slim router (_README.router.md ~400 tok) + datetime (date, simplenote_folder, weekday) + presence summary from Context Hub (physical_device, work_surface, current_task, confidence) + fleet tailnet status (devices: local/online/offline from tailscale status --json) + recent durable memories and memory_receipt (exact injected keys or explicit backend error). Reuse response.datetime, response.presence and response.fleet — do N

  • Current Context

    Refresh mid-conversation only — session_start already includes presence summary. Presença e contexto de trabalho do Jorge (Context Hub, payload completo). agent_runtime = infra onde o MCP corre (VPS); NÃO é presença. Usar presence.work_surface, presence.physical_device e current_task. Silencioso — nunca pedir ao Jorge para correr contextctl. Se presence.confidence < 0.6, usar melhor palpite e continuar; só perguntar se a acção depender criticamente do device (ex.: correr comando local destrutivo

  • List Folder

    List files and subfolders in any vault folder. path='': vault root. stats=true: mtime/ctime/size. Non-recursive: all entry types with ext on files (.pdf, .py, …). recursive=true: all .md under path (capped ~200; use find_files for PDFs/binaries). Avoid recursive on 00_inbox — token-heavy.

  • Find Files

    Discover vault files by name, extension, type, path, date, or size — metadata only, no content. Use for PDFs, docx, xlsx, code, media (.md included unless exclude_md=true). Max 100 results; requires at least one filter. After discovery, use run_skill to read (dre-parser, vault-find --brief, domain skills). Types: ebooks, docs, images, audio, video, code, data, archives.

  • Read Vault Images

    Load image files from the vault as base64 data URIs for inline preview. Use after find_files when you need to SHOW photos (not just list paths). Max 6 images, 2 MB each. jpg/png/gif/webp/bmp/svg.

  • Read Note

    Return note content by vault-relative path. Large notes are windowed by line offset/limit and capped at ~32000 chars. When truncated=true, continue with offset=next_offset. Token-heavy paths may include additive field warning (CHANGELOG, WhatsApp exports, oversized manifest entries, JSON/JSONL). Prefer read_frontmatter for YAML only; bulk_read for ≤20 paths.

  • Read Frontmatter

    Return only the parsed YAML frontmatter of a note (no body). Use before run_skill to check has_learnings (~200 chars vs full read_note). Malformed YAML returns partial dict plus warning, not a hard error.

  • Bulk Read Notes

    Read up to 20 notes in one round-trip (per-note body cap like read_note). Returns notes dict plus optional errors (batch does not abort on single failure). Honours _PRIVADO/ and vault-graph.json blocks.

  • Read JSON

    Navigate structured .json files schema-first — never use read_note or file-reader on JSON. Workflow: mode=schema (default) to see shape/types/sizes cheaply, then mode=list to browse arrays/objects with pagination, then mode=get with query for the exact value. query syntax: dotted keys and brackets (e.g. conversations[0].messages[-1].content). get values capped at ~32000 chars. For vault-graph.json use run_skill('vault-graph', ['query', ...]) instead.

  • Read JSONL

    Read .jsonl/.ndjson files line-by-line without loading the whole file. mode=schema infers shape from first lines; mode=rows (default) returns a paginated window. Use offset/next_offset to paginate. Never use read_note on JSONL.

  • Write Note

    Write a vault note. mode controls behavior: 'upsert' (default) = create or overwrite; 'create' = fail if exists; 'update' = fail if not exists; 'append' = add to end of existing note.

  • Edit Note

    Surgically replace an exact string in a note. Default: old_str must appear exactly expect_count times (default 1). replace_all=true replaces every occurrence. Saves ~90% tokens vs read_note + write_note for targeted changes.

  • Move Note

    Move or rename a note within the vault.

  • Search Notes

    LAST RESORT full-text search (case-insensitive AND). Max 30 paths per call; IPv4 queries rejected. Prefer: vault-dispatch (routing), vault-find (recent files), vault-graph (relations), vault-search skill (regex/acentos), activity-log (PC context). Never search vague terms or IPs.

  • Get Current Datetime

    Mid-conversation ONLY — never at session bootstrap. session_start already returns the same datetime; reuse it instead of calling this. Use only if the chat is long and you need a fresh clock for hoje/ontem/esta semana. Returns date, time, weekday, ISO week, simplenote_folder (YYYY/MM).

  • Tasks

    Manage operational tasks (backend Vikunja). Requires 'command' (see enum). ALWAYS ask Jorge before calling 'add' — agents suggest, never create autonomously. id accepts global integer OR 'projeto/indice' (e.g. 'infra/16'). commands: focus=list NOW tasks; list=all open tasks; add=create task (needs title); done/drop/waiting=change status (need id); move=change bucket (needs id+bucket); sweep=triage suggestions (read-only); update=edit fields (needs id); archive=month report (needs month YYYY-MM);

  • Vikunja (deprecated — use tasks)

    DEPRECATED alias for `tasks`. Use tasks() instead. Manage operational tasks via Vikunja backend. Same commands as tasks tool.

  • Calendar

    Manage CalDAV calendar events (Radicale at cal.jorgemarques.com). Requires 'command'. Timezone: Europe/Lisbon. Never invent times. calendars=list collections; list=events in range (needs from+to); add=create event (needs title+start); get/update/delete=by uid; import=batch from YAML/JSON file. calendar arg: castelform | pessoal | foco (projection, read-only for agents).

  • Run Skill

    Execute a skill from 50_infra/skills/ (searched recursively by name; must have main.py). Site jorgemarques.com (obras, título, CV): run_skill('portfolio-api', ['patch-work', '<slug>', '--title', '...', '--apply']). Dry-run first: omit --apply. Never edit_note/browser for live portfolio content. vault-dispatch routes NEW vault notes — not portfolio API writes.

  • Approve Improvement Proposal

    Approve or reject a pending agent-improvement proposal by signature. SSOT: pending-approvals.json. Use decision 'yes'/'approve' or 'no'/'reject'. Applied proposals are processed by agent-improvement --apply-approved cron.

Get your MCP into directories

A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.

Directory coverage for brands

Frequently Asked Questions

What is the Obsidian MCP server?

Transformo processos manuais frágeis em ferramentas Python/Playwright testadas e usadas em produção — com uma prática artística intermedia sobre a mesma stack.

How do I connect Obsidian to my AI agent?

Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.

How many tools does Obsidian provide?

MCPBundles probed 20 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.

What authentication does Obsidian require?

Obsidian may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.

Maintain this listing

Operate Obsidian? Verify ownership to take over this directory entry.

Operate Obsidian?

This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.

Claim this listing