Skip to main content
Glama

Quote MCP Server

by SeoNaRu
README.mdβ€’3.66 kB
# πŸ“ 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) μ˜μ‘΄μ„± μ„€μΉ˜ ```bash pip install -r requirements.txt ``` ### 2) ν™˜κ²½ λ³€μˆ˜ μ„€μ • (선택) ν”„λ‘œμ νŠΈ λ£¨νŠΈμ— `.env` νŒŒμΌμ„ 생성: ```bash cp env.example .env ``` `.env` 파일 λ‚΄μš©: ```env LOG_LEVEL=INFO PORT=8098 ``` > πŸ’‘ 이 μ˜ˆμ œλŠ” 무료 APIλ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ API ν‚€κ°€ ν•„μš” μ—†μŠ΅λ‹ˆλ‹€. ### 3) μ„œλ²„ μ‹€ν–‰ #### MCP μ„œλ²„ λͺ¨λ“œ (stdio) ```bash python -m src.main ``` #### HTTP μ„œλ²„ λͺ¨λ“œ ```bash 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` **μ„€μ • μ˜ˆμ‹œ:** ```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 ```bash GET /health POST /health ``` ### 도ꡬ λͺ©λ‘ 쑰회 ```bash GET /tools ``` ### 도ꡬ μ‹€ν–‰ ```bash 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 μ„œλ²„ 개발 ν…œν”Œλ¦Ώμž…λ‹ˆλ‹€.**

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