Dummy MCP Server
A simple Meta-agent Communication Protocol server built with FastMCP framework that provides 'echo' and 'dummy' tools via Server-Sent Events for demonstration and testing purposes.
README
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/ssedummy-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사용.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。