fast-note-sync-mcp
MCP server that wraps the Fast Note Sync REST API to enable querying and editing Obsidian vaults via MCP tools.
README
fast-note-sync-mcp
Servidor MCP em Python para expor a REST API do Fast Note Sync como ferramentas MCP via FastMCP.
O projeto funciona como um wrapper entre clientes MCP e o backend fast-note-sync-service, permitindo consultar e editar o vault _Obsidian por stdio ou via transporte HTTP do fastmcp.
Visao Geral
Fluxo principal:
Cliente MCP
-> server.py (FastMCP + httpx)
-> REST API Fast Note Sync
-> vault _Obsidian
O arquivo principal do projeto e server.py, que:
- carrega configuracao de
.env - monta headers obrigatorios da API
- encapsula chamadas HTTP com
httpx - publica as tools MCP com
@mcp.tool
Requisitos
- Python 3.11 ou superior
- acesso ao backend Fast Note Sync
- token valido em
API_TOKEN
Dependencias Python usadas pelo projeto:
fastmcphttpx
Instalacao
Exemplo com venv:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Configuracao
O projeto le automaticamente o arquivo .env no mesmo diretorio do server.py.
Comece copiando o arquivo de exemplo:
cp .env.example .env
Exemplo:
API_BASE_URL=http://seu-servidor:9009/api
API_TOKEN=seu_token_aqui
API_TIMEOUT_SECONDS=20
Variaveis suportadas:
API_BASE_URL: URL base da REST APIAPI_TOKEN: token Bearer obrigatorioAPI_TIMEOUT_SECONDS: timeout das requisicoes HTTP
Observacoes:
- se
API_TOKENnao estiver definido, oserver.pyfalha no startup - o arquivo
.envesta ignorado no.gitignore
Execucao
Rodar diretamente com Python:
.venv/bin/python server.py
Esse modo e o mais comum para clientes MCP locais via stdio.
Transporte HTTP
Para expor o MCP via HTTP:
fastmcp run server.py:mcp --transport http --host 0.0.0.0 --port 8001
Exemplo De Configuracao MCP
Exemplo generico para clientes que aceitam processo Python:
{
"mcpServers": {
"fast-note-sync": {
"type": "python",
"command": "/caminho/para/.venv/bin/python",
"args": [
"/caminho/para/fast-note-sync-mcp/server.py"
]
}
}
}
Exemplo de configuracao no Hermes:
mcp_servers:
fast-note-sync:
command: /caminho/para/.venv/bin/python
args:
- /caminho/para/fast-note-sync-mcp/server.py
enabled: true
Tools Expostas
O server.py atualmente expoe 36 tools MCP, agrupadas nestas categorias:
- Sistema:
health_check,get_version,get_webgui_config,get_user_info - Vaults:
list_vaults,get_vault_detail - Pastas:
get_folder_info,create_folder,delete_folder,get_folder_tree,list_folders,list_folder_notes - Notas leitura:
get_note,search_notes,get_note_outlinks,get_note_backlinks - Notas escrita:
create_or_update_note,append_to_note,prepend_to_note,replace_in_note,delete_note,restore_note - Frontmatter:
set_note_frontmatter,delete_note_frontmatter - Organizacao:
move_note,rename_note - Historico:
get_note_history,get_note_history_detail - Arquivos:
get_file_list,get_file_info - Outras:
list_shares,get_storage_configs,get_enabled_storage_types,get_git_sync_configs,get_system_info,get_backup_configs
Comportamento Importante
set_note_frontmatteresta funcional e envia o valor como lista de um item no payload de updatereplace_in_notesuporta busca literal e regexmove_noteerename_noteusam o mesmo endpoint backend- algumas tools podem depender das permissoes do token usado no backend
Teste Rapido
Validar import e carregamento do .env:
.venv/bin/python -c "import server; print(server.API_BASE_URL); print(bool(server.API_TOKEN))"
Testar health check:
.venv/bin/python - <<'PY'
import json
import server
print(json.dumps(server.health_check(), ensure_ascii=False, indent=2))
PY
Estrutura Atual
fast-note-sync-mcp/
.env
.env.example
.gitignore
requirements.txt
server.py
README.md
Seguranca
- nao comite o
.env - trate
API_TOKENcomo credencial sensivel - se o token ja tiver sido exposto anteriormente, faca rotacao
Desenvolvimento
Como o projeto esta concentrado em um unico arquivo, a manutencao tipica envolve:
- adicionar ou ajustar uma tool em
server.py - validar a chamada contra a API real
- atualizar este
README.mdse o contrato mudar
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.