Skip to main content
Glama
SeoNaRu

Quote MCP Server

by SeoNaRu

πŸ“ Sample MCP Server

company-info-mcp ꡬ쑰λ₯Ό 기반으둜 ν•œ μƒ˜ν”Œ MCP μ„œλ²„μž…λ‹ˆλ‹€.

이 ν”„λ‘œμ νŠΈλŠ” λ‹€λ₯Έ MCP ν”„λ‘œμ νŠΈλ₯Ό λ§Œλ“€ λ•Œ μ°Έκ³ ν•  수 μžˆλŠ” ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€.

✨ μ£Όμš” κΈ°λŠ₯

  • 랜덀 λͺ…μ–Έ 쑰회: 무료 Quote APIλ₯Ό μ‚¬μš©ν•˜μ—¬ 랜덀 λͺ…μ–Έ κ°€μ Έμ˜€κΈ°

  • λͺ…μ–Έ 검색: ν‚€μ›Œλ“œλ‘œ λͺ…μ–Έ 검색

  • ID둜 쑰회: νŠΉμ • ID의 λͺ…μ–Έ 쑰회

πŸ› οΈ 기술 μŠ€νƒ

  • MCP Framework: FastMCP

  • HTTP Server: FastAPI

  • Data Validation: Pydantic

  • HTTP Client: Requests

  • Caching: cachetools (TTL μΊμ‹œ)

  • Environment: Python-dotenv

πŸ“¦ μ„€μΉ˜ 및 μ„€μ •

1) μ˜μ‘΄μ„± μ„€μΉ˜

pip install -r requirements.txt

2) ν™˜κ²½ λ³€μˆ˜ μ„€μ • (선택)

ν”„λ‘œμ νŠΈ λ£¨νŠΈμ— .env νŒŒμΌμ„ 생성:

cp env.example .env

.env 파일 λ‚΄μš©:

LOG_LEVEL=INFO
PORT=8098

πŸ’‘ 이 μ˜ˆμ œλŠ” 무료 APIλ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ API ν‚€κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.

3) μ„œλ²„ μ‹€ν–‰

MCP μ„œλ²„ λͺ¨λ“œ (stdio)

python -m src.main

HTTP μ„œλ²„ λͺ¨λ“œ

HTTP_MODE=1 python -m src.main

HTTP μ„œλ²„λŠ” 기본적으둜 http://localhost:8098μ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€.

πŸ”Œ MCP ν΄λΌμ΄μ–ΈνŠΈ μ„€μ •

Claude Desktop

claude_desktop_config.json νŒŒμΌμ— λ‹€μŒμ„ μΆ”κ°€:

μ„€μ • 파일 μœ„μΉ˜:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json

μ„€μ • μ˜ˆμ‹œ:

{
  "mcpServers": {
    "sample-quote": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "/path/to/sample-mcp-server",
      "env": {
        "LOG_LEVEL": "INFO"
      }
    }
  }
}

🧰 μ‚¬μš© κ°€λŠ₯ν•œ MCP 도ꡬ

health

μ„œλΉ„μŠ€ μƒνƒœ 확인

get_random_quote_tool

랜덀 λͺ…언을 μ‘°νšŒν•©λ‹ˆλ‹€.

search_quotes_tool

ν‚€μ›Œλ“œλ‘œ λͺ…언을 κ²€μƒ‰ν•©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°:

  • keyword (ν•„μˆ˜): 검색할 ν‚€μ›Œλ“œ

  • limit (선택): κ²°κ³Ό 개수 (κΈ°λ³Έκ°’: 10, μ΅œλŒ€: 50)

get_quote_by_id_tool

ID둜 νŠΉμ • λͺ…언을 μ‘°νšŒν•©λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°:

  • quote_id (ν•„μˆ˜): 인용ꡬ ID

πŸ“‘ HTTP API μ—”λ“œν¬μΈνŠΈ

HTTP λͺ¨λ“œλ‘œ μ‹€ν–‰ μ‹œ λ‹€μŒ μ—”λ“œν¬μΈνŠΈλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

Health Check

GET /health
POST /health

도ꡬ λͺ©λ‘ 쑰회

GET /tools

도ꡬ μ‹€ν–‰

POST /tools/{tool_name}
Content-Type: application/json

{
  "keyword": "success",
  "limit": 5,
  "env": {
    "QUOTE_API_KEY": "your_api_key"
  }
}

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰

sample-mcp-server/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ main.py          # FastMCP μ„œλ²„ + FastAPI HTTP μ—”λ“œν¬μΈνŠΈ
β”‚   └── tools.py          # μ‹€μ œ API 호좜 둜직
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ pyproject.toml
β”œβ”€β”€ env.example
└── README.md

πŸ“š 이 ν”„λ‘œμ νŠΈλ₯Ό μ°Έκ³ ν•˜μ—¬ μƒˆ MCP λ§Œλ“€κΈ°

  1. 이 ν”„λ‘œμ νŠΈλ₯Ό λ³΅μ‚¬ν•˜μ—¬ μƒˆ ν”„λ‘œμ νŠΈ 생성

  2. src/main.pyμ—μ„œ 도ꡬ μ •μ˜ μˆ˜μ •

  3. src/tools.pyμ—μ„œ μ‹€μ œ API 호좜 둜직 κ΅¬ν˜„

  4. pyproject.tomlμ—μ„œ ν”„λ‘œμ νŠΈλͺ… λ³€κ²½

  5. requirements.txt에 ν•„μš”ν•œ μ˜μ‘΄μ„± μΆ”κ°€

  6. env.example에 ν•„μš”ν•œ ν™˜κ²½ λ³€μˆ˜ μΆ”κ°€

πŸ”‘ API ν‚€ μš°μ„ μˆœμœ„

MCP μ„œλ²„λŠ” λ‹€μŒ μˆœμ„œλ‘œ API ν‚€λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€:

  1. μš°μ„ μˆœμœ„ 1: arguments.env.QUOTE_API_KEY (메인 μ„œλ²„μ—μ„œ 받은 ν‚€)

  2. μš°μ„ μˆœμœ„ 2: .env 파일의 QUOTE_API_KEY (둜컬 개발용)

πŸ“„ λΌμ΄μ„ μŠ€

MIT License


이 ν”„λ‘œμ νŠΈλŠ” MCP μ„œλ²„ 개발 ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SeoNaRu/quote-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server