Discover Awesome MCP Servers

Extend your agent with 53,901 capabilities via MCP servers.

All53,901
DeepSeek MCP Server

DeepSeek MCP Server

## 간단한 Go 언어 기반 MCP 서버 (Deepseek 모델 연동) 이 문서는 Go 언어로 작성된 간단한 MCP (Minecraft Protocol) 서버를 구축하여, 사용자의 질문을 Deepseek 모델로 전달하고 응답을 받는 방법을 설명합니다. **개요:** 이 서버는 Minecraft 클라이언트로부터 연결을 받아, 채팅 메시지를 가로채서 Deepseek 모델에 전달합니다. Deepseek 모델은 질문에 대한 답변을 생성하고, 서버는 이 답변을 Minecraft 클라이언트에 다시 전송합니다. **필요 사항:** * **Go 설치:** Go 언어가 시스템에 설치되어 있어야 합니다. ([https://go.dev/dl/](https://go.dev/dl/)) * **Deepseek API 키:** Deepseek API를 사용하기 위한 API 키가 필요합니다. Deepseek 웹사이트에서 발급받을 수 있습니다. * **Minecraft 클라이언트:** Minecraft 클라이언트가 필요합니다. (Java Edition 권장) * **Go 패키지:** 다음 Go 패키지가 필요합니다. `go get` 명령어를 사용하여 설치할 수 있습니다. * `github.com/Tnze/go-mc/net` (Minecraft 프로토콜 처리) * `github.com/joho/godotenv` (환경 변수 관리, 선택 사항) * `encoding/json` (JSON 데이터 처리) * `net/http` (HTTP 요청) * `io/ioutil` (HTTP 응답 읽기) * `fmt` (포맷팅) * `log` (로깅) * `os` (환경 변수 접근) **구현:** 다음은 기본적인 코드 구조입니다. ```go package main import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" "os" "github.com/Tnze/go-mc/net" "github.com/Tnze/go-mc/net/packet" "github.com/joho/godotenv" ) // 설정 const ( ServerAddress = "0.0.0.0:25565" // 서버 주소 및 포트 ProtocolVersion = 754 // Minecraft 프로토콜 버전 (1.16.5) ) // Deepseek API 설정 var ( DeepseekAPIKey string DeepseekAPIEndpoint = "YOUR_DEEPSEEK_API_ENDPOINT" // Deepseek API 엔드포인트 ) // Deepseek API 요청 구조체 type DeepseekRequest struct { Prompt string `json:"prompt"` } // Deepseek API 응답 구조체 type DeepseekResponse struct { Response string `json:"response"` } func main() { // 환경 변수 로드 (선택 사항) err := godotenv.Load() if err != nil { log.Println("Error loading .env file") } // Deepseek API 키 설정 DeepseekAPIKey = os.Getenv("DEEPSEEK_API_KEY") if DeepseekAPIKey == "" { log.Fatal("DEEPSEEK_API_KEY 환경 변수를 설정해주세요.") } // 서버 시작 listener, err := net.Listen(ServerAddress) if err != nil { log.Fatalf("서버 시작 실패: %v", err) } defer listener.Close() log.Printf("서버 시작: %s", ServerAddress) for { conn, err := listener.Accept() if err != nil { log.Printf("연결 수락 실패: %v", err) continue } go handleConn(conn) } } func handleConn(conn net.Conn) { defer conn.Close() // 핸드셰이크 패킷 읽기 var p packet.Packet err := p.ReadFrom(conn) if err != nil { log.Printf("핸드셰이크 패킷 읽기 실패: %v", err) return } var protocolVersion, serverAddress, nextState int32 var port uint16 err = p.Scan(&protocolVersion, &serverAddress, &port, &nextState) if err != nil { log.Printf("핸드셰이크 패킷 파싱 실패: %v", err) return } // 프로토콜 버전 확인 if protocolVersion != ProtocolVersion { log.Printf("지원하지 않는 프로토콜 버전: %d", protocolVersion) return } // 상태 설정 switch nextState { case 1: // 상태 요청 handleStatus(conn) case 2: // 로그인 handleLogin(conn) default: log.Printf("알 수 없는 상태: %d", nextState) } } func handleStatus(conn net.Conn) { // TODO: 서버 상태 정보 전송 (예: 플레이어 수, MOTD) log.Println("상태 요청 받음") // 예시: // var p packet.Packet // p.ID = 0x00 // Status Response // p.Data = []byte(`{"version":{"name":"1.16.5","protocol":754},"players":{"max":10,"online":0},"description":{"text":"Go MCP Server"}}`) // p.WriteTo(conn) // var p2 packet.Packet // p2.ID = 0x01 // Ping // p2.Data = []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // Sample ping data // p2.WriteTo(conn) // var p3 packet.Packet // p3.ID = 0x00 // Pong // p3.Data = []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} // Sample pong data // p3.WriteTo(conn) } func handleLogin(conn net.Conn) { // 로그인 패킷 읽기 var p packet.Packet err := p.ReadFrom(conn) if err != nil { log.Printf("로그인 패킷 읽기 실패: %v", err) return } var username string err = p.Scan(&username) if err != nil { log.Printf("로그인 패킷 파싱 실패: %v", err) return } log.Printf("플레이어 로그인: %s", username) // 로그인 성공 패킷 전송 var p2 packet.Packet p2.ID = 0x02 // Login Success p2.WriteString("00000000-0000-0000-0000-000000000000") // UUID (임의 값) p2.WriteString(username) err = p2.WriteTo(conn) if err != nil { log.Printf("로그인 성공 패킷 전송 실패: %v", err) return } // 게임 시작 play(conn, username) } func play(conn net.Conn, username string) { log.Printf("게임 시작: %s", username) for { var p packet.Packet err := p.ReadFrom(conn) if err != nil { log.Printf("패킷 읽기 실패: %v", err) return } switch p.ID { case 0x03: // Chat Message (클라이언트 -> 서버) var message string err = p.Scan(&message) if err != nil { log.Printf("채팅 메시지 파싱 실패: %v", err) continue } log.Printf("채팅 메시지 받음: %s", message) // Deepseek 모델에 질문 전달 및 응답 받기 response, err := askDeepseek(message) if err != nil { log.Printf("Deepseek API 호출 실패: %v", err) response = "Deepseek API 호출 실패." } // 응답을 Minecraft 클라이언트에 전송 sendMessage(conn, response) default: log.Printf("알 수 없는 패킷 ID: 0x%X", p.ID) } } } func askDeepseek(question string) (string, error) { // Deepseek API 호출 requestBody, err := json.Marshal(DeepseekRequest{Prompt: question}) if err != nil { return "", err } req, err := http.NewRequest("POST", DeepseekAPIEndpoint, ioutil.NopCloser(bytes.NewBuffer(requestBody))) if err != nil { return "", err } req.Header.Set("Content-Type", "application/json") req.Header.Set("Authorization", "Bearer "+DeepseekAPIKey) // API 키 설정 client := &http.Client{} resp, err := client.Do(req) if err != nil { return "", err } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return "", err } var deepseekResponse DeepseekResponse err = json.Unmarshal(body, &deepseekResponse) if err != nil { return "", err } return deepseekResponse.Response, nil } func sendMessage(conn net.Conn, message string) error { // 채팅 메시지 패킷 생성 (서버 -> 클라이언트) var p packet.Packet p.ID = 0x0F // Chat Message (1.16.5) p.WriteString(fmt.Sprintf(`{"text":"%s"}`, message)) // JSON 형식의 메시지 p.WriteByte(0) // Position: 0 (chat box) err := p.WriteTo(conn) if err != nil { log.Printf("채팅 메시지 전송 실패: %v", err) return err } return nil } ``` **설명:** 1. **패키지 임포트:** 필요한 Go 패키지를 임포트합니다. 2. **설정:** 서버 주소, 프로토콜 버전, Deepseek API 키 및 엔드포인트를 설정합니다. `YOUR_DEEPSEEK_API_ENDPOINT` 를 실제 Deepseek API 엔드포인트로 변경해야 합니다. 3. **`main` 함수:** * `.env` 파일에서 환경 변수를 로드합니다 (선택 사항). * Deepseek API 키를 환경 변수에서 가져옵니다. * 서버를 시작하고 연결을 수락합니다. * 각 연결에 대해 `handleConn` 고루틴을 실행합니다. 4. **`handleConn` 함수:** * 클라이언트와의 연결을 처리합니다. * 핸드셰이크 패킷을 읽고 프로토콜 버전을 확인합니다. * 상태 요청 (`handleStatus`) 또는 로그인 요청 (`handleLogin`)을 처리합니다. 5. **`handleStatus` 함수:** * 서버 상태 정보를 클라이언트에 전송합니다. (구현 필요) * 예시 코드는 기본적인 상태 응답을 보여줍니다. 6. **`handleLogin` 함수:** * 로그인 패킷을 읽고 사용자 이름을 가져옵니다. * 로그인 성공 패킷을 클라이언트에 전송합니다. * `play` 함수를 호출하여 게임을 시작합니다. 7. **`play` 함수:** * 클라이언트로부터 패킷을 읽고 처리합니다. * 채팅 메시지 (ID `0x03`)를 가로채서 `askDeepseek` 함수에 전달합니다. * `askDeepseek` 함수로부터 받은 응답을 `sendMessage` 함수를 사용하여 클라이언트에 전송합니다. 8. **`askDeepseek` 함수:** * Deepseek API에 HTTP POST 요청을 보냅니다. * 요청 본문은 JSON 형식으로 구성됩니다. * 응답을 파싱하여 문자열로 반환합니다. * API 키를 `Authorization` 헤더에 포함합니다. 9. **`sendMessage` 함수:** * 채팅 메시지 패킷을 생성하여 클라이언트에 전송합니다. * 메시지는 JSON 형식으로 포맷팅됩니다. **사용 방법:** 1. **코드 수정:** * `YOUR_DEEPSEEK_API_ENDPOINT` 를 실제 Deepseek API 엔드포인트로 변경합니다. * `.env` 파일 또는 환경 변수를 통해 `DEEPSEEK_API_KEY` 를 설정합니다. * 필요에 따라 서버 상태 정보 (`handleStatus` 함수)를 구현합니다. 2. **실행:** `go run main.go` 명령어를 사용하여 서버를 실행합니다. 3. **Minecraft 클라이언트 연결:** Minecraft 클라이언트를 실행하고 서버 주소 (`ServerAddress`)로 연결합니다. 4. **채팅:** Minecraft 클라이언트에서 채팅 메시지를 입력하면 서버가 Deepseek 모델에 질문을 전달하고 응답을 받아서 클라이언트에 표시합니다. **추가 고려 사항:** * **오류 처리:** 더 강력한 오류 처리를 추가하여 서버의 안정성을 향상시키십시오. * **보안:** 서버를 보호하기 위해 인증 및 권한 부여를 구현하십시오. * **성능:** 서버 성능을 최적화하기 위해 고루틴 풀 및 캐싱을 사용하십시오. * **프로토콜 버전:** Minecraft 프로토콜 버전이 변경되면 `ProtocolVersion` 상수를 업데이트해야 합니다. * **Deepseek API:** Deepseek API의 사용량 제한 및 요금을 확인하십시오. * **상태 정보:** `handleStatus` 함수를 구현하여 서버 상태 정보를 클라이언트에 제공하십시오. * **JSON 포맷:** 채팅 메시지를 JSON 형식으로 보내는 방식은 Minecraft 버전에 따라 다를 수 있습니다. 해당 버전에 맞는 JSON 포맷을 사용해야 합니다. **주의:** 이 코드는 기본적인 예제이며, 실제 운영 환경에 사용하기 위해서는 추가적인 보안 및 성능 개선이 필요합니다. Deepseek API 사용 시에는 Deepseek의 약관을 준수해야 합니다. 이 코드는 Deepseek API를 사용하는 예시이며, Deepseek API의 사용법 및 제한 사항은 Deepseek의 공식 문서를 참고하십시오. 이 코드를 사용함으로써 발생하는 모든 문제에 대한 책임은 사용자에게 있습니다.

🚀 Electron Debug MCP Server

🚀 Electron Debug MCP Server

🚀 강력한 MCP 서버로, Chrome DevTools Protocol과 깊이 통합되어 Electron 애플리케이션을 디버깅할 수 있습니다. 표준화된 API를 통해 Electron 앱을 제어, 모니터링 및 디버깅하세요.

Forgejo MCP Server

Forgejo MCP Server

A Model Context Protocol (MCP) server that provides Claude Desktop with tools to interact with Forgejo repositories, including listing repos, issues, and reading files.

my-mcp-server

my-mcp-server

Brave Search MCP Server

Brave Search MCP Server

Enables web searching and local business discovery through the Brave Search API. Provides both general web search with pagination and filtering controls, plus local business search with automatic fallback to web results.

auto-mcp

auto-mcp

함수, 도구 및 에이전트를 자동으로 MCP 서버로 변환합니다.

MCP Gateway

MCP Gateway

Aggregates multiple Model Context Protocol servers into a single gateway to provide unified search, description, and execution of tools. It reduces context limit issues by dynamically fetching specific tool schemas only when needed rather than loading all available tools at once.

test-server

test-server

just a test of glama

MCP Mix Server

MCP Mix Server

A tutorial implementation MCP server that enables analysis of CSV and Parquet files. Allows users to summarize data and query file information through natural language interactions.

crabsmadethis/d2r-horadric-tools

crabsmadethis/d2r-horadric-tools

Diablo II Resurrected modding toolkit — character builder, mod build/deploy pipeline, save inspector, CASC reader, and MCP server for Claude/Codex/AI integration. Linux/Steam Deck.

mcp-plots

mcp-plots

A MCP server for data visualization. It exposes tools to render charts (line, bar, pie, scatter, heatmap, etc.) from data and returns plots as either image/text/mermaid diagram.

Demo

Demo

A Python MCP server for Cline integration, providing tools for file analysis and other tasks. Supports switching to Google Gemini API.

Gemini Embedding 2 MCP Server

Gemini Embedding 2 MCP Server

A multimodal local memory MCP server that lets AI agents search across text, PDFs, images, audio, and video using Gemini Embedding 2 and a local ChromaDB.

Obsidian Vault MCP

Obsidian Vault MCP

An MCP server that integrates Zotero and MinerU pipelines to import and manage academic literature in an Obsidian vault, enabling automated note creation, PDF parsing, and vault maintenance.

Clo MCP Plugin

Clo MCP Plugin

Clo MCP 플러그인은 Clo3D SDK로 구축된 C++ 애플리케이션입니다. Clo3D 내에 소켓 서버를 설정하여 대규모 언어 모델(LLM)이 모델 컨텍스트 프로토콜(MCP)을 통해 Clo3D와 상호 작용하고 제어할 수 있도록 하여 고급 AI 지원 패션 디자인 및 장면 생성을 가능하게 합니다.

Claude Chrome MCP

Claude Chrome MCP

Enables MCP clients like Claude Desktop to automate and interact with claude.ai via a Chrome extension and WebSocket relay.

VOICEPEAK MCP Server

VOICEPEAK MCP Server

Enables text-to-speech synthesis using VOICEPEAK software with support for custom narrators, emotions, and pronunciation dictionaries. Allows generating and playing audio files from text with configurable voice parameters.

MongoDB Mongoose MCP

MongoDB Mongoose MCP

Enables Claude to interact with MongoDB databases through natural language, supporting queries, aggregations, CRUD operations, and index management with optional Mongoose schema validation.

Superface MCP Server

Superface MCP Server

Model Context Protocol을 통해 다양한 AI 도구에 접근할 수 있도록 하여, Claude Desktop 사용자가 API를 통해 Superface 기능을 통합하고 사용할 수 있게 합니다.

Apollo Proxy MCP Server

Apollo Proxy MCP Server

Provides AI agents with access to a global residential proxy network covering over 190 countries for web fetching and scraping. It enables pay-per-request transactions using USDC on the Base network via the x402 protocol.

Dynamics 365 MCP Server by CData

Dynamics 365 MCP Server by CData

Dynamics 365 MCP Server by CData

Universal SQL MCP Server

Universal SQL MCP Server

Enables secure interaction with multiple SQL database engines (MySQL, PostgreSQL, SQLite, SQL Server) through a standardized interface. Supports schema inspection, safe query execution, and controlled write operations with built-in security restrictions.

Dooray MCP Server

Dooray MCP Server

Enables integration with Dooray project management platform, allowing users to manage projects, tasks, comments, milestones, tags, and team members through natural language interactions.

outlook-mcp

outlook-mcp

MCP server for Microsoft Outlook via Graph API. 20 consolidated tools for email, calendar, contacts, folders, rules, categories, and settings with safety controls (dry-run preview, rate limiting, recipient allowlists) and MCP annotations on every tool.

agent-memory-hub

agent-memory-hub

Enables AI agents to store, search, and retrieve long-term memories with BM25 full-text search, auto-tagging, and importance scoring.

Agglayer MCP Server

Agglayer MCP Server

Documentation MCP Server with Python SDK

Documentation MCP Server with Python SDK

memos-mcp-server

memos-mcp-server

Bridges MCP-compatible IDEs to a local MemOS instance, enabling notes from editors to be stored in the same knowledge base that AI agents read from.

Runware MCP Server

Runware MCP Server

Enables lightning-fast AI image and video generation, upscaling, background removal, captioning, and masking through the Runware API with automatic model selection and comprehensive validation.

FastAPI MCP Server

FastAPI MCP Server

A Model Context Protocol server that provides tools for introspecting and analyzing FastAPI applications, including route discovery, model schema extraction, and source code viewing. It enables users to explore API structures, generate documentation, and debug dependency injection hierarchies through natural language.