ð Swarms MCP Documentation Server
ããŒã«ã«ð Swarms MCP Documentation Server ã«ã€ããŠ
Swarms MCP Documentation Serverã¯ãAIãšãŒãžã§ã³ããããã¥ã¡ã³ããååŸã§ãããããããŒã«ã«ãªããžããªãã€ã³ããã¯ã¹åããŸããææžãã£ã³ã¯ãå¯Ÿè±¡ã«æå³æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ãçµã¿åããããã¡ã€ã«å€æŽæã«åã€ã³ããã¯ã¹ããŸãã
äž»ãªæ©èœ
- 01æå³æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ã®äœµçš
- 02ææžããã£ã³ã¯åäœã§ã€ã³ããã¯ã¹å
- 03MarkdownãPythonãããŒãããã¯ãããã¹ã圢åŒã®èªã¿èŸŒã¿
- 04ãã¡ã€ã«ç£èŠãšèªååã€ã³ããã¯ã¹
- 05ãã¡ã€ã«äžèŠ§ãšæå®ãã£ã³ã¯ã®ååŸ
- 06ãã«ã¹ãã§ãã¯ãšæååã€ã³ããã¯ã¹
掻çšã·ãŒã³
- 01ããŒã«ã«ã®ãã¬ãŒã ã¯ãŒã¯ææžãæ€çŽ¢
- 02æå®ããææžãã£ã³ã¯ãååŸ
- 03ãªããžããªå€æŽåŸã«ã€ã³ããã¯ã¹ãæŽæ°
- 04ãµãŒããŒã®çšŒåæºåã確èª
MCP 察å¿
FastMCPãéããŠãæ€çŽ¢ããã¡ã€ã«äžèЧããã£ã³ã¯ååŸãåã€ã³ããã¯ã¹ããã«ã¹ãã§ãã¯ã®ããŒã«ãMCPã¯ã©ã€ã¢ã³ãã«æäŸããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ð Swarms MCP ããã¥ã¡ã³ããµãŒããŒ
ð 説æ
ãã®ããã°ã©ã ã¯ãFastMCP ãåºç€ãšãããšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ãçš MCP ãµãŒããŒã§ããAI ãšãŒãžã§ã³ããããã¥ã¡ã³ãããŒã¿ããŒã¹ããå¹ççã«æ å ±ãååŸã§ããããã«èšèšãããŠããŸãããã€ããªãããªã»ãã³ãã£ãã¯ïŒãã¯ãã«ïŒæ€çŽ¢ãšããŒã¯ãŒãïŒBM25ïŒæ€çŽ¢ããã£ã³ã¯åäœã®ã€ã³ããã¯ã¹äœæããããŠãšãŒãžã§ã³ããšã®ã·ãŒã ã¬ã¹ãªé£æºãå®çŸããå ç¢ãª FastMCP ããŒã« API ãçµã¿åãããŠããŸãã
äž»ãªæ©èœïŒ
- ã»ãã³ãã£ãã¯æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ã®äž¡æ¹ã䜿ã£ããå¹ççãªãã£ã³ã¯åäœã®æ å ±ååŸ
- FastMCP ããŒã«ã䜿ã£ãŠããšãŒãžã§ã³ããããã¥ã¡ã³ããæ€çŽ¢ãäžèŠ§è¡šç€ºãååŸã§ããŸã
- ããŒã«ã«ãã¡ãŒã¹ãã§äœã¬ã€ãã³ã·ãŒãªèšèšïŒãã¹ãŠã®ããŒã¿ãããŒã«ã«ã§ã€ã³ããã¯ã¹åããæ€çŽ¢ããŸãïŒ
- ãã¡ã€ã«ã®å€æŽæã«èªåã§ã€ã³ããã¯ã¹ãåäœæ
- ã¢ãžã¥ãŒã«åŒïŒ
corpora/ã«ä»»æã®ãªããžããªã远å ã§ããäž»èŠãªãã¡ã€ã«åœ¢åŒããã¹ãŠãµããŒã - æ¡åŒµå¯èœïŒå¿ èŠã«å¿ããŠæ°ããããŒã«ããªããªãŒããŒãã³ãŒãã¹ã远å å¯èœ
äž»ãªã¢ãžã¥ãŒã«ïŒ
embed_documents.pyâ ããã¥ã¡ã³ããèªã¿èŸŒã¿ããã£ã³ã¯ã«åå²ããŠåã蟌ã¿ãŸãswarms_server.pyâ MCP ãµãŒããŒãš FastMCP ããŒã«ãèµ·åããŸã
ð äž»ãªæ©èœ
- ãã€ããªãããªããªãŒã㌠ðïŒã»ãã³ãã£ãã¯æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ãçµã¿åãããŸãã
- åç㪠Markdown åŠç ðïŒãã¡ã€ã«ãµã€ãºã«å¿ããã¹ããŒãããŒããŒã䜿çšããŸãã
- å°çšããŒã㌠âïžïŒ
.pyã.ipynbã.mdã.txtã.yamlã.ymlã«å¯Ÿå¿ããŸãã - ãã£ã³ã¯ãšãã¡ã€ã«ã®æŠèŠ ðïŒãã¡ã€ã«æ°ãšãšãã«ãã£ã³ã¯æ°ã衚瀺ããŸãã
- ã©ã€ããŠã©ããããã° ð¥ïŒ
corpora/ã®å€æŽã«å³åº§ã«å¯Ÿå¿ããŸãã - ã³ã¹ãã«é¢ãããŠãŒã¶ãŒç¢ºèª â ïŒã³ã¹ãã®é«ãåã蟌ã¿åŠçã®åã«ç¢ºèªããŸãã
- ãã«ã¹ãã§ãã¯ãšã³ããã€ã³ã ðïŒãµãŒããŒã䜿çšå¯èœãªç¶æ ã§ããããšã確èªããŸãã
- ããŒã«ã«ãã¡ãŒã¹ã ðïžïŒå€éšäŸåãªãã§ããã¹ãŠã®ãªããžããªãããŒã«ã«ã§ã€ã³ããã¯ã¹åããŸãã
- å®å šãªåé€ãã«ã㌠ð¥ïŒç ŽæãŸãã¯äžäžèŽã®ã€ã³ããã¯ã¹ãèªåçã«åé€ããŸãã
ðïž ããŒãžã§ã³å±¥æŽ
| ããŒãžã§ã³ | æ¥ä» | äž»ãªå€æŽç¹ |
|---|---|---|
| 2.2 | 2025â04â25 | åã蟌ã¿ïŒèªã¿èŸŒã¿åŠçããµãŒããŒããåé¢ãèªã¿èŸŒã¿æŠèŠã§ãã£ã³ã¯æ°ããã¹ãŠã«ãŠã³ã |
| 1.0 | 2025â04â25 | åç Markdown ããŒããŒãã«ã©ãŒã®ãã°ããã«ã¹ãã§ãã¯ããŒã« |
| 0.7 | 2025â04â25 | .pyã.ipynbã.md çšã®å°çšãã¡ã€ã«ããŒã㌠|
| 0.5 | 2025â04â10 | OpenAI ã®å€§èŠæš¡ã¢ãã«ã«ããåã蟌ã¿ãæ¡åŒµããã MCP ããŒã« |
| 0.1 | 2025â04â10 | æ±çšããŒããŒãåããåæããŒãžã§ã³ |
ð ã³ãŒãã¹ã®ç®¡çïŒããŒã«ã«ãªããžããªïŒ
Swarms ããã®ä»ã®ãã¬ãŒã ã¯ãŒã¯ã¯éåžžã«å€§èŠæš¡ãªãããã³ãŒãã¹å šäœã¯ GitHub ã«ããã·ã¥ãããŸããã
代ããã«ãcorpora/ ã®äžã«æåã§ã¯ããŒã³ããŸãïŒ
# Inside your project folder:
cd corpora/
# Clone useful frameworks:
git clone https://github.com/SwarmsAI/Swarms
git clone https://github.com/SwarmsAI/Swarms-Examples
git clone https://github.com/microsoft/autogen
git clone https://github.com/langchain-ai/langgraph
git clone https://github.com/openai/openai-agent-sdk
â æ³šæïŒ
- ä»»æã®ãªããžããªã远å ã§ããŸããå ¬éãéå ¬éãã«ã¹ã¿ã ã®ããããå¯èœã§ãã
- ç¬èªã® AI ãã¬ããžããŒã¹ãããŒã«ã«ã«æ§ç¯ã§ããŸãã
- å€§èŠæš¡ãªãªããžããªïŒ500MB è¶ ïŒã«ã察å¿ããŠããŸããã€ã³ããã¯ã¹äœæã¯ãã¹ãŠããŒã«ã«ã§è¡ãããŸãã
ð ã¯ã€ãã¯ã¹ã¿ãŒã
# 1. Activate virtual environment
venv\Scripts\Activate.ps1
# 2. Install all dependencies
pip install -r requirements.txt
# 3. Configure OpenAI API Key
echo OPENAI_API_KEY=sk-... > .env
# 4. (Load and embed documents
python embed_documents.py
# 5. Start MCP server
python swarms_server.py
# If no index is found, the server will prompt you to embed documents automatically.
âïž èšå®
- ã³ãŒãã¹ïŒãªããžããªã
corpora/å ã«é 眮ããŸã - ç°å¢å€æ°ïŒ
.envã«OPENAI_API_KEYãå«ããå¿ èŠããããŸã
- ã€ã³ããã¯ã¹ãã¡ã€ã«ã®ãµããŒãïŒ
chroma-collections.parquetãšchroma.sqlite3ã®äž¡æ¹ã«å¯Ÿå¿ããŠããŸããäž¡æ¹ããå Žåã¯.parquetãåªå ãããŸãã
- èªååã蟌ã¿ïŒ
- ã€ã³ããã¯ã¹ãèŠã€ãããªãå ŽåããµãŒããŒã¯ããã¥ã¡ã³ããèªåçã«åã蟌ã¿ãã€ã³ããã¯ã¹ãäœæãããã©ããã確èªããŸãã
- ä»»æã®èšå®ïŒ
- å¿
èŠã«å¿ã㊠Chroma ã®ã³ã³ãã¯ã·ã§ã³ãç¡å¹ã«ã§ããŸãïŒ
setx CHROMA_COMPACTION_SERVICE__COMPACTOR__DISABLED_COLLECTIONS "swarms_docs"
- å¿
èŠã«å¿ã㊠Chroma ã®ã³ã³ãã¯ã·ã§ã³ãç¡å¹ã«ã§ããŸãïŒ
- ã³ãã³ãã©ã€ã³ãã©ã°ïŒ
--reindexâ ãµãŒããŒã®å®è¡äžã«ã€ã³ããã¯ã¹ãæŽæ°ããŸãã
ð ãã¡ã€ã«ç£èŠãšèªååã€ã³ããã¯ã¹
MCP ãµãŒããŒã¯corpora/å
ã®ãã¡ã€ã«å€æŽãç£èŠããŸãã
- ãã¡ã€ã«ã®å€æŽãäœæãåé€ããããšããªã¢ã«ã¿ã€ã ã§åã€ã³ããã¯ã¹ãããŸãã
- ãµãŒããŒãåèµ·åããå¿ èŠã¯ãããŸããã
ð ïž å©çšå¯èœãª FastMCP ããŒã«
| ããŒã« | 説æ |
|---|---|
swarm_docs.search | é¢é£ããããã¥ã¡ã³ãã®ãã£ã³ã¯ãæ€çŽ¢ããŸã |
swarm_docs.list_files | ã€ã³ããã¯ã¹æžã¿ã®å šãã¡ã€ã«ãäžèŠ§è¡šç€ºããŸã |
swarm_docs.get_chunk | ãã¹ãšã€ã³ããã¯ã¹ãæå®ããŠãç¹å®ã®ãã£ã³ã¯ãååŸããŸã |
swarm_docs.reindex | åã€ã³ããã¯ã¹ã匷å¶å®è¡ããŸãïŒå šä»¶ãŸãã¯å·®åïŒ |
swarm_docs.healthcheck | MCP ãµãŒããŒã®ã¹ããŒã¿ã¹ã確èªããŸã |
â ãã©ãã«ã·ã¥ãŒãã£ã³ã°
- Q: ãµãŒããŒã®èµ·åæã«ãNo valid existing index foundããšè¡šç€ºãããŸãã
- A: ãµãŒããŒãããããã¥ã¡ã³ããåã蟌ã¿ãã€ã³ããã¯ã¹ãäœæããããæ±ããããŸããããã³ãããæ¿èªããŠç¶è¡ããããå
ã«
python embed_documents.pyãæåã§å®è¡ããŠãã ããã
- A: ãµãŒããŒãããããã¥ã¡ã³ããåã蟌ã¿ãã€ã³ããã¯ã¹ãäœæããããæ±ããããŸããããã³ãããæ¿èªããŠç¶è¡ããããå
ã«
- Q: ã©ã®ã€ã³ããã¯ã¹ãã¡ã€ã«ã䜿çšãããŸããïŒ
- A:
chroma-collections.parquetãå©çšå¯èœãªå Žåã¯ããã䜿çšããå©çšã§ããªãå Žåã¯chroma.sqlite3ã䜿çšããŸãã
- A:
- Q: åã€ã³ããã¯ã¹ã匷å¶å®è¡ãããå Žåã¯ã©ãããã°ããã§ããïŒ
- A:
python swarms_server.py --reindexãå®è¡ããããswarm_docs.reindexããŒã«ã䜿çšããŠãã ããã
- A:
ð 䜿çšäŸ
# Search the documentation
result = swarm_docs.search("How do I load a notebook?")
print(result)
# List all available files
files = swarm_docs.list_files()
print(files)
# Get a specific document chunk
chunk = swarm_docs.get_chunk(path="examples/agent.py", chunk_idx=2)
print(chunk["content"])
ð§° æ¡åŒµãšåæ§ç¯
-
æ°ããããã¥ã¡ã³ãã远å â
corpora/ã«å ¥ããŠãããæ¬¡ãå®è¡ããŸããpython swarms_server.py --reindex -
ã¹ããŒããå€æŽ âïŒäŸïŒã¡ã¿ããŒã¿æ§é ã倿Žããå ŽåïŒ
python swarms_server.py --reindex --full -
æ°ãããªããžããªã远å â ãã©ã«ããŒã
corpora/ã®äžã«çœ®ããåã€ã³ããã¯ã¹ããŸãã -
ã»ãšãã©èªã¿åãå°çšã®ãªããžããªã«æšå¥šïŒ
setx CHROMA_COMPACTION_SERVICE__COMPACTOR__DISABLED_COLLECTIONS "swarms_docs"
ð IDE 飿º
Windsurf Cascade ã«çŽæ¥æ¥ç¶ããŸãã
"swarms": {
"command": "C:/âŠ/Swarms/venv/Scripts/python.exe",
"args": ["swarms_server.py"]
}
ããã§ãCascade ã®ãªãŒãã¡ãŒã·ã§ã³ããswarm_docs.*ããŒã«ã«ã¢ã¯ã»ã¹ã§ããŸãã
ðŠ å¿ èŠæ¡ä»¶
ð¡ Python 3.11 ç°å¢ãå¿ èŠã§ã
ç°å¢ãæç€ºçã«äœæããŸãã
python3.11 -m venv venv
次ã«ã以äžãå®è¡ããŠã€ã³ã¹ããŒã«ããŸãã
pip install -r requirements.txt
â MCP ãµãŒããŒã®æºåå®äº
èµ·ååŸïŒ
- é©åãªèªã¿èŸŒã¿ãµããªãŒ
- è² è·ã®é«ãæäœã®åã«å®å šã«ç¢ºèª
- ãã¡ã€ã«ã®èªåç£èŠãšåã€ã³ããã¯ã¹
- Windsurf ãã©ã°ã€ã³å¯Ÿå¿
- ãã¹ãŠã®ããŒã«ãç¶²çŸ
ããã§ Cascade ãå©çšã§ããŸãïŒ ðââïž
ð ãããŒå³
+------------------+
| ð¥ïž MCP Server |
+------------------+
|
+---------------------------------------------------+
| |
+-------------+ +-----------------+
| ð Corpora | | ð FastMCP Tools |
| Folder | | (search, list, |
| (markdown, | | get_chunk, etc.) |
| code, etc) | +-----------------+
+-------------+ |
| |
+-----------------+ +----------------+
| ð Loaders | | ð§ Ensemble |
| (Python, MD, TXT)| | Retriever (BM25|
| Split into Chunks| | + Chroma) |
+-----------------+ +----------------+
| |
+-----------------+ +----------------+
| âïž Text Splitter | | ð§© Similarity |
| (RecursiveCharacter) | | Search (chunks) |
+-----------------+ +----------------+
| |
+-----------------+ +----------------+
| ðŸ Embed chunks | âOpenAI Embedding (small)â> | ð¢ïž Chroma Vector |
| via OpenAI API | | DB (Local Store) |
+-----------------+ +----------------+
| |
+-----------------+ +----------------+
| ð¡ Reindex Watcher| | ð File Watchdog |
| (Auto detect | | (Auto reindex |
| new/modified files| | on file events) |
+-----------------+ +----------------+
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã