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사용.
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.