mcp-server

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2025 License: MIT

README

MCP Server

Go Report Card GoDoc License

MCP Server is a Go-based MCP tools project that provides a series of MCP utilities. This is a personal learning project, please do not use it in production environment. Using github.com/ThinkInAIXYZ/go-mcp as the MCP core framework.

Features

  • IP address processing service
  • Time service
  • Poster generation service
  • More features coming soon...

System Requirements

  • Go 1.23.0 or higher
  • Supports Linux, macOS and Windows

Quick Start

Installation
# Clone the project
git clone https://github.com/luffy050596/mcp-server.git
cd mcp-server

# Install dependencies
go mod download
Build

Build a single service:

make build dir=<service_directory>

Build all services:

make build-all
Test

Run all tests:

make test
Run

Run a single service:

./bin/mcp-ip -mode=stdio -addr=:59001
Parameters
  • -mode Running mode, available values are stdio or sse. Default is stdio
  • -addr Service address, required when -mode=sse
  • -key Bailian API Key, required for poster service

Project Structure

.
├── bin/           # Compiled binary files
├── ip/            # IP geolocation info, using https://ip.rpcx.io API
├── time/          # Time query and timestamp conversion
├── poster/        # Poster generation service, using Bailian Creative Poster Generation API(https://help.aliyun.com/zh/model-studio/creative-poster-generation)
└── pkg/           # Shared packages

Development Tools

The project uses the following development tools to ensure code quality:

  • .golangci.yaml - golangci-lint configuration
  • .pre-commit-config.yaml - Git pre-commit hooks
  • .gitleaks.toml - Gitleaks sensitive information detection configuration

Dependency Management

Main dependencies:

  • github.com/ThinkInAIXYZ/go-mcp - MCP core library

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the terms of the LICENSE file - see the LICENSE file for details.

Contact

Acknowledgments

Thanks to all developers who have contributed to this project.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL