moon

aditya624/moon

3.1

If you are the rightful owner of moon and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Model Context Protocol (MCP) Server is a specialized server designed to facilitate communication and data exchange between various machine learning models and applications, ensuring seamless integration and efficient processing.

Moon MCP Server

Moon MCP Server is a template project for building Model Context Protocol (MCP) backends using FastMCP. It is packaged with Poetry, ships with a lightweight Dockerfile, and exposes a simple ping tool to verify connectivity. The MCP server retrieves context from a Qdrant vector database, making it easy to supply relevant information to your agents.

Features

  • ✅ FastMCP-powered MCP server ready to run standalone
  • ✅ Retrieves contextual knowledge from a Qdrant vector database
  • ✅ Poetry project configuration targeting Python 3.11
  • ✅ Dockerfile ready for container deployments
  • ✅ Basic CI workflow (linting placeholder) for GitHub Actions

Getting Started

Prerequisites

Installation

poetry install

Running the server

poetry run python moon/main.py

Environment variables

The server reads its configuration from environment variables (optionally loaded via a local .env file). The most common settings are listed below:

VariableDescriptionDefault
MCP_TRANSPORTTransport type used by the MCP server.streamable-http
MCP_HOSTHost interface the MCP server binds to.0.0.0.0
QDRANT_URLBase URL of the Qdrant instance supplying context.https://657e9ff8-daa0-4003-bf76-c531e697932d.europe-west3-0.gcp.cloud.qdrant.io:6333
QDRANT_API_KEYAPI key for the Qdrant instance.empty
QDRANT_TOP_KNumber of top search results to return.10
HF_TOKENHugging Face token used for embedding calls.empty
HF_MODELHugging Face embedding model identifier.BAAI/bge-m3

Running with Docker

docker build -t moon-mcp .
docker run --rm -p 8181:8181 --env-file .env moon-mcp

The Docker image runs python moon/main.py, matching the local execution flow. Update the .env file (or provide a different --env-file) to configure MCP_HOST, MCP_PORT, and other environment variables when running the container.

Running tests

poetry run pytest

Project layout

moon/
├── .github/             GitHub Actions workflows
├── dockerfile           Production-ready container image definition
├── docs/                Documentation assets
├── moon/                Application source code
│   ├── agent/           LangGraph agent scaffolding
│   ├── api/             FastAPI routers and dependencies
│   ├── config.py        Pydantic settings module
│   ├── main.py          FastMCP application entrypoint
│   └── tools/           MCP tool definitions
├── pyproject.toml       Poetry configuration and dependencies
├── scripts/             Helper scripts for local development
├── tests/               Pytest-based unit and integration tests
└── README.md            Project overview and usage instructions

License

This project is provided as-is. Feel free to adapt it for your own MCP services.