restful3/dummy_mcp_server
If you are the rightful owner of dummy_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This project is a simple MCP (Meta-agent Communication Protocol) server built using the FastMCP framework, providing communication via SSE (Server-Sent Events) and offering 'echo' and 'dummy' tools.
dummy
A simple synchronous tool that logs and returns the received message.
echo
Demonstrates SSE streaming by repeating the input message three times with delays.
Dummy MCP Server
μ΄ νλ‘μ νΈλ FastMCP
νλ μμν¬λ₯Ό μ¬μ©νμ¬ κ΅¬μΆλ κ°λ¨ν MCP (Meta-agent Communication Protocol) μλ²μ
λλ€. μλ²λ SSE (Server-Sent Events)λ₯Ό ν΅ν΄ ν΅μ νλ©°, echo
λꡬμ dummy
λꡬλ₯Ό μ 곡ν©λλ€.
μ£Όμ κΈ°μ μ€ν
- FastAPI: μΉ νλ μμν¬ (FastMCPμ κΈ°λ°)
- Uvicorn: ASGI μλ² (FastAPI μ ν리μΌμ΄μ μ€ν)
- FastMCP: MCP μλ² κ΅¬μΆμ μν νλ μμν¬ (λ²μ 1.0.0)
- Docker & Docker Compose: 컨ν μ΄λν λ° μλΉμ€ κ΄λ¦¬
- Python: μ£Ό κ°λ° μΈμ΄
νλ‘μ νΈ κ΅¬μ‘°
.dummy_mcp_server/
βββ app/
β βββ __init__.py
β βββ main.py # FastAPI μ ν리μΌμ΄μ
λ° MCP μλ² μ€μ , λꡬ λ±λ‘
β βββ tools/
β βββ __init__.py
β βββ dummy.py # 'dummy' λꡬ ꡬν
β βββ echo.py # 'echo' λꡬ ꡬν
βββ docker-compose.yml # Docker Compose μ€μ νμΌ
βββ README.md # μ΄ νμΌ
βββ requirements.txt # Python μμ‘΄μ± λͺ©λ‘`
μ€μ λ° μ€ν
μꡬ μ¬ν
- Docker
- Docker Compose
λ‘컬 μ€ν (Docker Compose μ¬μ©)
-
μ μ₯μ ν΄λ‘ (μ΄λ―Έ λ‘컬μ μλ κ²½μ° μλ΅)
-
Docker μ΄λ―Έμ§ λΉλ λ° μ»¨ν μ΄λ μ€ν: νλ‘μ νΈ λ£¨νΈ λλ ν 리μμ λ€μ λͺ λ Ήμ μ€νν©λλ€. μ΄ λͺ λ Ήμ νμμ μ΄λ―Έμ§λ₯Ό λΉλνκ³ λ°±κ·ΈλΌμ΄λμμ 컨ν μ΄λλ₯Ό μμν©λλ€.
docker-compose up --build -d
μλ²λ Docker 컨ν μ΄λ λ΄λΆμ
0.0.0.0:8002
μμ μ€νλλ©°,docker-compose.yml
μ€μ μ λ°λΌ νΈμ€νΈ λ¨Έμ μhttp://localhost:8002
(λλ Docker νΈμ€νΈ IPμ 8002 ν¬νΈ)λ‘ λ ΈμΆλ©λλ€. -
λ‘κ·Έ νμΈ:\
docker-compose logs -f dummy_mcp_server
-
μλ² μ€μ§:\
docker-compose down
n8n μ°λ κ°μ΄λ
dummy-mcp-server
λ₯Ό n8n μν¬νλ‘μ°μ μ°λνλ €λ©΄ λ€μ λ¨κ³λ₯Ό λ°λ₯΄μμμ€.
-
Docker λ€νΈμν¬:
dummy-mcp-server
컨ν μ΄λμ n8n 컨ν μ΄λκ° λμΌν Docker λ€νΈμν¬ νκ²½μμ μ€νλκ³ μμ΄μΌ μλ‘ ν΅μ ν μ μμ΅λλ€.- νμ¬
docker-compose.yml
μdummy-mcp-server
μλΉμ€λ₯Ό μμ±νλ©°, λ³λμ λ€νΈμν¬λ₯Ό λͺ μνμ§ μμΌλ©΄ Docker Composeκ° μμ±νλ κΈ°λ³Έ λ€νΈμν¬μ μ°κ²°λ©λλ€. n8n 컨ν μ΄λλ μ΄ λ€νΈμν¬μ μ°κ²°λμ΄ μκ±°λ, λλ λ 컨ν μ΄λκ° κ³΅μ νλ μΈλΆ λ€νΈμν¬(μ:nginx-n8n-net
)μ ν¨κ» μ°κ²°λμ΄ μμ΄μΌ ν©λλ€. - λ§μ½ n8nκ³Ό
dummy-mcp-server
κ° λμΌνdocker-compose.yml
νμΌ λ΄μμ μλΉμ€λ‘ μ μλμ΄ μλ€λ©΄, Docker Composeκ° μλμΌλ‘ κ°μ λ€νΈμν¬μ λ°°μΉνλ―λ‘ μλΉμ€ μ΄λ¦(컨ν μ΄λ μ΄λ¦)μΌλ‘ μλ‘λ₯Ό μ°Ύμ μ μμ΅λλ€.
-
n8n MCP Client λ Έλ μ€μ :
- n8n μν¬νλ‘μ°μμ "MCP Client" λ Έλλ₯Ό μΆκ°ν©λλ€.
- SSE Endpoint: λ€μ URLμ μ
λ ₯ν©λλ€.
http://dummy-mcp-server:8002/sse
dummy-mcp-server
:docker-compose.yml
μ μ μλ μλΉμ€ μ΄λ¦μ λλ€. Docker λ΄λΆ DNSκ° μ΄ μ΄λ¦μdummy-mcp-server
컨ν μ΄λμ IPλ‘ ν΄μν©λλ€. (λ§μ½ n8nμ΄ Docker μΈλΆμμ μ€νλκ³dummy-mcp-server
λ§ Dockerλ‘ μ€ν μ€μ΄λΌλ©΄,localhost
λλ Docker νΈμ€νΈμ IPλ₯Ό μ¬μ©ν΄μΌ ν©λλ€:http://localhost:8002/sse
)8002
:dummy-mcp-server
κ° λ¦¬μ€λνλ ν¬νΈμ λλ€./sse
:FastMCP
λΌμ΄λΈλ¬λ¦¬κ° SSE μ€νΈλ¦Όμ μν΄ μ¬μ©νλ κΈ°λ³Έ κ²½λ‘μ λλ€.
- Authentication: νμ¬
dummy-mcp-server
λ μΈμ¦μ μ¬μ©νμ§ μμΌλ―λ‘ "None"μΌλ‘ μ€μ ν©λλ€. - Tools to Include: "All"λ‘ μ€μ νκ±°λ νμμ λ°λΌ νΉμ λκ΅¬λ§ μ νν μ μμ΅λλ€.
Python μμ‘΄μ± (requirements.txt
)
λ€μμ μ£Όμ μμ‘΄μ± λͺ©λ‘μ
λλ€ (μ 체 λͺ©λ‘μ requirements.txt
νμΌ μ°Έμ‘°):
fastmcp==1.0.0
httpx>=0.27.0
uvicorn
numpy
fastapi==0.109.2
# python-dotenv (μ£Όμ μ²λ¦¬λ¨)
# ... κΈ°ν mcp λ° fastapi μμ‘΄μ±
μ 곡λλ λꡬ
μλ²λ app/main.py
μ λ€μκ³Ό κ°μ λ κ°μ§ λꡬλ₯Ό λ±λ‘νμ¬ μ 곡ν©λλ€.
-
dummy
λꡬ- μμ€ νμΌ:
app/tools/dummy.py
- μ€λͺ : μ λ ₯λ°μ λ¬Έμμ΄ λ©μμ§λ₯Ό μ½μμ μΆλ ₯νκ³ , μ±κ³΅ μνμ ν¨κ» μμ ν λ©μμ§λ₯Ό λ°ννλ κ°λ¨ν λκΈ° λꡬμ λλ€.
- μ
λ ₯ νλΌλ―Έν°:
message
(str): λλ―Έ λκ΅¬κ° λ°μ λ¬Έμμ΄μ λλ€.
- λ°ν:
{\"status\": \"success\", \"tool_message\": \"Dummy tool received: [μ λ ₯λ λ©μμ§]\"}
- μμ€ νμΌ:
-
echo
λꡬ- μμ€ νμΌ:
app/tools/echo.py
- μ€λͺ : SSE μ€νΈλ¦¬λ° κΈ°λ₯μ μμ°νλ μμ λꡬμ λλ€. μ λ ₯λ λ©μμ§λ₯Ό 3ν λ°λ³΅νκ³ , κ° λ©μμ§ μ¬μ΄μ 1μ΄μ μ§μ°μ λμ΄ SSE μ€νΈλ¦ΌμΌλ‘ λ°νν©λλ€.
- μ
λ ₯ νλΌλ―Έν°:
message
(str): μμ½ν λ¬Έμμ΄μ λλ€.
- λ°ν: μ€νΈλ¦¬λ° μλ΅ ν
{\"status\": \"Echo stream completed\"}
λ₯Ό λ°νν©λλ€.
- μμ€ νμΌ:
MCP μλ² μ 보
- μ΄λ¦: Dummy MCP Server
- μ€λͺ : FastMCP 1.0.0 with SSE, echo tool, and dummy tool.
- νΈμ€νΈ:
0.0.0.0
(Docker 컨ν μ΄λ λ΄λΆ) - ν¬νΈ:
8002
(Docker μΈλΆ λ° λ΄λΆ λμΌ ν¬νΈ λ§€ν) - ν΅μ λ°©μ: SSE (Server-Sent Events) - κΈ°λ³Έ μλν¬μΈνΈ
/sse
μ¬μ©.