freeplane-mcp
freeplane-mcp
AI 에이전트(예: Claude Desktop, Cursor, opencode)가 freeplane_plugin_grpc gRPC 플러그인을 통해 실행 중인 Freeplane 마인드 맵을 읽고 수정할 수 있게 해주는 MCP 서버입니다.
일회성 “Markdown → image” 방식의 MCP 서버와 달리, 변경 사항은 현재 열려 있는 Freeplane 맵에 실시간으로 적용됩니다.
아키텍처
MCP client (Claude / Cursor / opencode)
│
│ stdio or Streamable HTTP (MCP SDK)
▼
freeplane-mcp (Python, FastMCP)
│
│ gRPC (grpcio)
▼
Freeplane + org.freeplane.plugin.grpc
(port 50051)Related MCP server: xmind-mcp
요구 사항
Python 3.10+
gRPC 플러그인이 설치된 상태로 실행 중인 Freeplane
기본 Freeplane gRPC 포트:
50051
설치
cd ~/spaces/freeplane-mcp
python -m venv .venv
.venv/bin/pip install -e .실행
stdio
Claude Desktop, Cursor, opencode 등에서 사용하는 기본 전송 방식:
.venv/bin/freeplane-mcpStreamable HTTP
.venv/bin/freeplane-mcp --transport http --port 8000설정
환경 변수 | CLI 옵션 | 기본값 |
|
|
|
|
|
|
| — |
|
|
|
|
|
|
|
|
|
|
MCP 도구
export_map
현재 맵을 정규 JSON으로 내보냅니다.
지원되는 필드는 다음과 같습니다:
text, id, children, note, detail, link, tags, icons, attributes, background_color, folded, relationships.
import_map
정규 JSON에서 마인드 맵을 가져옵니다.
지원되는 insert_mode 값:
root— 맵 루트 아래에 삽입합니다. 기본값node—insert_node_id아래에 삽입합니다selected— 현재 선택된 노드 아래에 삽입합니다
테스트
현재 맵 내보내기:
.venv/bin/python -c "
import sys; sys.path.insert(0, '.')
from freeplane_mcp.freeplane_grpc import FreeplaneGrpcClient
c = FreeplaneGrpcClient()
print(c.export_map())
"맵을 가져온 후 다시 내보내기:
.venv/bin/python -c "
import sys; sys.path.insert(0, '.')
from freeplane_mcp.freeplane_grpc import FreeplaneGrpcClient
c = FreeplaneGrpcClient()
c.import_map('{\"text\": \"Hello from MCP\", \"children\": [{\"text\": \"child 1\"}]}')
print(c.export_map())
"MCP 클라이언트 설정
stdio 구성 예시:
{
"mcpServers": {
"freeplane": {
"command": "/home/bebebeka/spaces/freeplane-mcp/.venv/bin/freeplane-mcp"
}
}
}HTTP 구성:
{
"mcpServers": {
"freeplane": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}JSON 형식 정보
정규 JSON 형식은 플러그인의 JsonHelper.java에 정의되어 있습니다.
_fp_import_root_node를 지원합니다:
{"_fp_import_root_node": "root", "mindmap": {...}}맵 루트 아래에 삽입됩니다.
{"_fp_import_root_node": "ID_...", "mindmap": {...}}특정 노드 아래에 삽입됩니다.
래퍼 없이 삽입하면 맵은 현재 선택된 노드 아래에 삽입됩니다.
이전 형식도 지원됩니다:
{"node text": {"child node": "note"}}라이선스
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables LLMs to interact with MindManager mind maps, allowing retrieval of mind map structures and export to formats like Mermaid, Markdown, and JSON.1111MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read and write XMind mind map files, allowing generation, editing, and analysis of mind maps directly in XMind.MIT
- AlicenseAqualityBmaintenanceEnables AI agents to build and interact with mind maps on mindmap.io. Agents can create, read, update, and delete maps and nodes, run prompts on nodes, and auto-expand topics into follow-up questions.13MIT
- AlicenseNot gradedqualityBmaintenanceEnables LLMs to read and edit XMind mind maps, including OCR for images embedded in nodes.MIT
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Shared long-term memory vault for AI agents with 20 MCP tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
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/metacoma/mcp-freeplane'
If you have feedback or need assistance with the MCP directory API, please join our Discord server