AU

Automated Local MCP Server Discovery and Configuration

Discover and configure MCP server instances locally to automatically add and manage MCP servers on your machine.

Quick Install
npx -y @particlefuture/1mcpserver

Overview

This MCP (Model Context Protocol) server helps you discover and manage local model-serving endpoints on your machine. It exposes lightweight metadata about available model servers so MCP-aware clients can automatically find, register, and use local instances without manual configuration. This is useful for local development, testing, or running multiple model servers concurrently on the same host.

The server is intentionally minimal: it publishes a simple manifest for each MCP instance and provides simple discovery mechanisms so tools and IDEs can enumerate available model endpoints. You can run it as a single binary, container, or as a background service and configure what it advertises via a small JSON/YAML manifest.

Features

  • Automatic local discovery of MCP server instances for MCP-aware clients
  • Simple, human-readable manifest format (JSON/YAML) describing endpoints and capabilities
  • Optional TLS support and custom port configuration
  • Runs as a standalone binary, Docker container, or background service
  • Lightweight and suitable for development, CI, and multi-model management
  • API endpoints for listing advertised instances and fetching metadata

Installation / Configuration

The repository provides multiple ways to run the server. The exact commands depend on the release artifacts in the repo; below are generic examples you can adapt.

Clone the repository:

git clone https://github.com/particlefuture/1mcpserver.git
cd 1mcpserver

Run the included binary (if present):

# If the repository has a prebuilt executable named mcp-server
./mcp-server --config ./examples/local-manifest.yaml

Run with Docker (replace image/name with the repo image if published):

docker run -p 8080:8080 \
  -v $(pwd)/examples/local-manifest.yaml:/etc/mcp/manifest.yaml:ro \
  ghcr.io/particlefuture/1mcpserver:latest \
  --config /etc/mcp/manifest.yaml

Example manifest (YAML)

server:
  name: "local-mcp"
  host: "127.0.0.1"
  port: 8080
  tls: false
models:
  - id: "gpt-local"
    type: "llm"
    endpoint: "http://127.0.0.1:1234/v1"
    description: "Local LLM for development"
    capabilities:
      - completion
      - chat
  - id: "vision-local"
    type: "vision"
    endpoint: "http://127.0.0.1:2345/predict"
    description: "Local vision server"

Minimal JSON manifest

{
  "server": {
    "name": "local-mcp",
    "host": "127.0.0.1",
    "port": 8080
  },
  "models": [
    {
      "id": "gpt-local",
      "type": "llm",
      "endpoint": "http://127.0.0.1:1234/v1",
      "capabilities": ["completion","chat"]
    }
  ]
}

Common options (example CLI)

./mcp-server --config ./manifest.yaml --discovery mdns --log-level info

Configuration key reference

KeyTypeDescription
server.namestringHuman-friendly server name
server.hoststringHost IP or hostname to advertise
server.portintegerPort the MCP server listens on
server.tlsbooleanWhether to use TLS for the advertised endpoints
models[].idstringUnique model identifier
models[].typestringModel category (e.g., llm, vision)
models[].endpointstringFull URL to the model server API
models[].capabilitiesarraySupported operations (completion, chat, predict)

Systemd unit example

[Unit]
Description=MCP Local Discovery Server
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mcp-server --config /etc/mcp/manifest.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target

Available Resources

  • Repository: https://github.com/particlefuture/1mcpserver
  • Issues and feature requests: use the repo’s Issues page
  • Example manifests and sample model entries are provided in the repo’s examples/ directory
  • API endpoints (typical):
    • GET /instances — list advertised MCP instances
    • GET /instances/{id} — fetch metadata/manifest for an instance (Confirm exact paths in the repo’s documentation)

If you need specific discovery behavior (mDNS, local socket, or polling), check the repo README