Skip to main content
Glama

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

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