MCP-YNU FastMCP Server

by ynu
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Used for server configuration with environment variables. It appears in the debugging section where users need to update 'MCP_TRANSPORT_TYPE' in a .env file before starting the server.

  • The server is built on Python (version 3.10 or higher) and uses the FastMCP Python SDK to provide a dynamic MCP server implementation.

MCP-YNU - FastMCP 서버

각 디렉토리에서 도구, 리소스 및 프롬프트를 자동으로 로드하는 FastMCP를 사용한 동적 MCP 서버 구현입니다.

특징

  • tools/ , resources/prompts/ 디렉토리에서 모듈의 동적 로딩
  • 모듈 자동 검색 및 등록
  • 간단한 구성 및 확장성
  • 더 나은 코드 명확성과 정적 분석을 위한 유형 힌트
  • 서버 활동 모니터링을 위한 포괄적인 로깅

최근 업데이트

  • 코드베이스 전체에 유형 힌트가 추가되었습니다.
  • 개선된 MCP 인스턴스 처리
  • 로깅 기능 추가
  • MIT 라이센스 추가
  • 참조 링크가 포함된 업데이트된 문서

디렉토리 구조

지엑스피1

용법

  1. 적절한 디렉토리에 모듈을 생성합니다.
  2. from mcp_server import mcp
  3. 서버를 실행합니다:
python main.py

예제 모듈

도구 모듈 예제(tools/example.py)

from mcp_server import mcp import httpx @mcp.tool() def calculate_bmi(weight_kg: float, height_m: float) -> float: """Calculate BMI given weight in kg and height in meters""" return weight_kg / (height_m**2) @mcp.tool() async def fetch_weather(city: str) -> str: """Fetch current weather for a city""" async with httpx.AsyncClient() as client: response = await client.get(f"https://api.weather.com/{city}") return response.text

리소스 모듈 예제(resources/example.py)

from mcp_server import mcp @mcp.resource("config://app") def get_config() -> str: """Static configuration data""" return "App configuration here" @mcp.resource("users://{user_id}/profile") def get_user_profile(user_id: str) -> str: """Dynamic user data""" return f"Profile data for user {user_id}"

프롬프트 모듈 예제(prompts/example.py)

from mcp_server import mcp from mcp.server.fastmcp.prompts import base @mcp.prompt() def review_code(code: str) -> str: return f"Please review this code:\n\n{code}" @mcp.prompt() def debug_error(error: str) -> list[base.Message]: return [ base.UserMessage("I'm seeing this error:"), base.UserMessage(error), base.AssistantMessage("I'll help debug that. What have you tried so far?"), ]

디버깅

  1. .env 에서 MCP_TRANSPORT_TYPE 업데이트하고 python main.py 실행하여 mcp 서버를 시작합니다.
  2. npx @modelcontextprotocol/inspector 실행하여 inspect를 엽니다.
  3. URL http://localhost:<mcp_server_port>/sse 사용하여 SSE 전송 유형을 선택하거나 명령 python 및 인수 /path/to/main.py 사용하여 STDIO 전송 유형을 선택합니다.

요구 사항

  • 파이썬 >= 3.10
  • 패스트MCP

참조 링크

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

도구, 리소스 및 프롬프트를 해당 디렉토리에서 자동으로 로드하여 쉽게 확장하고 구성할 수 있는 동적 MCP 서버 구현입니다.

  1. Features
    1. Recent Updates
      1. Directory Structure
        1. Usage
          1. Example Modules
            1. Tools Module Example (tools/example.py)
            2. Resources Module Example (resources/example.py)
            3. Prompts Module Example (prompts/example.py)
          2. Debugging
            1. Requirements
              1. Reference Links
                1. License
                  ID: 0i0w71u7vf