Sponsored by Deepsite.site

Dummy MCP Server

Created By
restful37 months ago
n8n을 위한 sse 기반 mcp server 입니다.
Content

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

  1. 저장소 클론 (이미 로컬에 있는 경우 생략)

  2. Docker 이미지 빌드 및 컨테이너 실행: 프로젝트 루트 디렉토리에서 다음 명령을 실행합니다. 이 명령은 필요시 이미지를 빌드하고 백그라운드에서 컨테이너를 시작합니다.

    docker-compose up --build -d
    

    서버는 Docker 컨테이너 내부의 0.0.0.0:8002에서 실행되며, docker-compose.yml 설정에 따라 호스트 머신의 http://localhost:8002 (또는 Docker 호스트 IP의 8002 포트)로 노출됩니다.

  3. 로그 확인:\

    docker-compose logs -f dummy_mcp_server
    
  4. 서버 중지:\

    docker-compose down
    

n8n 연동 가이드

dummy-mcp-server를 n8n 워크플로우와 연동하려면 다음 단계를 따르십시오.

  1. Docker 네트워크:

    • dummy-mcp-server 컨테이너와 n8n 컨테이너가 동일한 Docker 네트워크 환경에서 실행되고 있어야 서로 통신할 수 있습니다.
    • 현재 docker-compose.ymldummy-mcp-server 서비스를 생성하며, 별도의 네트워크를 명시하지 않으면 Docker Compose가 생성하는 기본 네트워크에 연결됩니다. n8n 컨테이너도 이 네트워크에 연결되어 있거나, 또는 두 컨테이너가 공유하는 외부 네트워크(예: nginx-n8n-net)에 함께 연결되어 있어야 합니다.
    • 만약 n8n과 dummy-mcp-server가 동일한 docker-compose.yml 파일 내에서 서비스로 정의되어 있다면, Docker Compose가 자동으로 같은 네트워크에 배치하므로 서비스 이름(컨테이너 이름)으로 서로를 찾을 수 있습니다.
  2. 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에 다음과 같은 두 가지 도구를 등록하여 제공합니다.

  1. dummy 도구

    • 소스 파일: app/tools/dummy.py
    • 설명: 입력받은 문자열 메시지를 콘솔에 출력하고, 성공 상태와 함께 수신한 메시지를 반환하는 간단한 동기 도구입니다.
    • 입력 파라미터:
      • message (str): 더미 도구가 받을 문자열입니다.
    • 반환: {\"status\": \"success\", \"tool_message\": \"Dummy tool received: [입력된 메시지]\"}
  2. 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 사용.
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
WindsurfThe new purpose-built IDE to harness magic
Playwright McpPlaywright MCP server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
CursorThe AI Code Editor
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Serper MCP ServerA Serper MCP Server
Amap Maps高德地图官方 MCP Server
ChatWiseThe second fastest AI chatbot™
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
DeepChatYour AI Partner on Desktop
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Tavily Mcp
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.