diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..219647a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,35 @@ +name: CI + +on: + push: + pull_request: + +permissions: + contents: read + +jobs: + validate: + name: Validate repository + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Lint workspaces + run: npm run lint + + - name: Test workspaces + run: npm run test + + - name: Build workspaces + run: npm run build diff --git a/OFFICIAL_DOCKERHUB_REGISTRY.md b/OFFICIAL_DOCKERHUB_REGISTRY.md new file mode 100644 index 0000000..90a542e --- /dev/null +++ b/OFFICIAL_DOCKERHUB_REGISTRY.md @@ -0,0 +1,38 @@ +# Official Docker Hub MCP Registry Policy + +Only official or human-verified Docker Hub sources may be added to this registry. + +## Inclusion criteria + +- The image is published by the upstream project, project owner, or verified organization. +- The image is referenced by official project documentation, an official repository, or a verified publisher profile. +- The image has a traceable source URL and clear ownership trail. + +## Exclusion criteria + +- Community images without an official upstream reference. +- Lookalike packages or unclear publisher ownership. +- Images with no source repository or verification notes. + +## Proposed registry fields + +Each Docker Hub MCP entry should include: + +```json +{ + "name": "github-mcp-server", + "title": "GitHub MCP Server", + "docker_image": "agentnxt/github-mcp-server", + "publisher": "agentnxt", + "source_url": "https://github.com/AGenNext/mcp-registry", + "dockerhub_url": "https://hub.docker.com/r/agentnxt/github-mcp-server", + "verification_status": "official", + "verification_notes": "Published under the verified upstream namespace.", + "category": "development", + "tags": ["github", "mcp", "development", "official"] +} +``` + +## Review requirement + +Every imported Docker Hub MCP image must be reviewed before being marked `official`. diff --git a/README.md b/README.md index 00f4ae6..6022a0b 100644 --- a/README.md +++ b/README.md @@ -1,168 +1,161 @@ -# MCPHub by AgentNxt +# MCP Registry -**Production-ready MCP servers for your entire stack. 58 servers, 1000+ tools.** +**The Tool Catalog for MCP-compatible AI agents.** -MCPHub is a registry of Model Context Protocol servers maintained as a Node.js workspace monorepo. Each server lives under `packages/` and can be built, run, packaged, or deployed independently. +MCP Registry is an open catalog of reusable MCP tools that agents can discover, deploy, and compose through the Model Context Protocol. Each tool package includes focused capabilities, MCP tool definitions, deployment metadata, and runtime instructions. --- -## Quick Start: Build from source +## Why Tool Catalog? + +Traditional MCP projects describe integrations as servers. MCP Registry organizes them as a discoverable **tool catalog**: + +| Traditional MCP View | Tool Catalog View | +| --- | --- | +| MCP server | Tool package | +| Tool endpoint | Tool action | +| Server metadata | Tool manifest | +| Docker image | Tool runtime | +| Server list | Discoverable tool catalog | + +--- + +## What is included + +- 58+ MCP-compatible tool packages +- 1000+ tools across SaaS, developer tools, infrastructure, data, automation, and monitoring +- Docker-ready runtimes +- Workspace-based package structure +- Tool manifest schema and validation workflow + +--- + +## Quick Start ```bash -# Clone the repo git clone https://github.com/AGenNext/mcp-registry.git cd mcp-registry - -# Install workspace dependencies npm install - -# Build every server -npm run build +npm run check ``` -If some packages are still scaffolded or do not yet expose a build script, use the safer workspace build: +Build every workspace: ```bash -npm run build:changed +npm run build ``` ---- - -## Build a single MCP server +Build one tool package: ```bash -# Example: build the n8n MCP server -npm run build --workspace=packages/n8n-mcp-server +npm run build --workspace=packages/ ``` -Run the built server directly: +Run a built MCP tool package: ```bash -node packages/n8n-mcp-server/dist/index.js +node packages//dist/index.js ``` -Most packages compile TypeScript into `dist/index.js` and expose that file as the MCP server entry point. - --- -## Quick Start: Docker +## Docker ```bash -# Pull and run any published server from Docker Hub docker run -d \ -e SERVICE_URL="https://your-service.com" \ -e SERVICE_API_KEY="your-api-key" \ - agentnxt/ - -# Example: filesystem server -docker run -d \ - -e ALLOWED_DIRECTORIES="/data" \ - agentnxt/filesystem-mcp-server + agentnxt/ ``` -All published images are available on Docker Hub: https://hub.docker.com/u/agentnxt +Published images are available on Docker Hub: + +https://hub.docker.com/u/agentnxt --- -## Claude Desktop configuration +## Tool Manifest -After building a server, add it to Claude Desktop or another MCP-compatible client. +Each tool package should include a `tool.json` or equivalent manifest: ```json { - "mcpServers": { - "filesystem": { - "command": "node", - "args": ["/absolute/path/to/mcp-registry/packages/filesystem-mcp-server/dist/index.js"], - "env": { - "ALLOWED_DIRECTORIES": "/data" - } - } - } + "name": "github-repo-search", + "title": "GitHub Repository Search", + "description": "Search repositories, issues, and pull requests.", + "category": "development", + "docker_image": "agentnxt/github-mcp-server", + "tools": ["search_repositories", "list_issues"], + "auth": ["github_token"], + "tags": ["github", "code", "search"] } ``` -Use an absolute path in `args` so the MCP client can find the server reliably. - --- -## Available Servers - -Each package lives under `packages/` and follows the standard layout: +## Recommended Tool Package Layout ```text -packages// +packages// + tool.json + README.md + Dockerfile src/ - index.ts # MCP server entry point - tools/ # Tool definitions - api/ # API client + index.ts + tools/ + api/ package.json tsconfig.json ``` -Common commands: - -```bash -# Install dependencies -npm install - -# Build every workspace -npm run build - -# Build only workspaces with build scripts -npm run build:changed +--- -# Build one workspace -npm run build --workspace=packages/ +## Validate the Registry -# Run one built server -node packages//dist/index.js +```bash +npm run validate ``` ---- - -## Environment variables +The validator checks for required tool packaging files where applicable. -Each MCP server may require different credentials or service URLs. Check the specific package README or source before deployment. +--- -Common examples: +## Claude Desktop Configuration -```bash -SERVICE_URL="https://your-service.com" -SERVICE_API_KEY="your-api-key" -ALLOWED_DIRECTORIES="/data" +```json +{ + "mcpServers": { + "filesystem": { + "command": "node", + "args": ["/absolute/path/to/mcp-registry/packages/filesystem-mcp-server/dist/index.js"], + "env": { + "ALLOWED_DIRECTORIES": "/data" + } + } + } +} ``` -Never commit secrets into this repository. Use environment variables, Docker secrets, or your deployment platform secret store. +Use absolute paths so your MCP client can find the runtime reliably. --- -## Deployment model - -This repository is not a single web app. It is a registry of independent MCP servers. +## Contributing -Recommended deployment flow: - -1. Choose the target server under `packages/`. -2. Install dependencies from the repo root with `npm install`. -3. Build the selected package with `npm run build --workspace=packages/`. -4. Run the compiled entry point from `dist/index.js`. -5. Provide required service credentials through environment variables. +Contributions are welcome. Please read `CONTRIBUTING.md` before opening a pull request. --- -## Unboxd Platform Scaffolds +## Security + +Please report vulnerabilities privately using the instructions in `SECURITY.md`. -Added scaffold servers for the first platform wave: +--- -- `microcloud-mcp-server` -- `lxc-mcp-server` -- `ansible-mcp-server` -- `terraform-mcp-server` -- `gcloud-run-mcp-server` +## Website -See `docs/unboxd-platform-mcp-roadmap.md` for implementation direction. +The marketing site can be deployed with GitHub Pages. --- -Copyright 2026. All rights reserved AgentNxt. An Autonomyx Platform. +Copyright 2026 AgentNxt. An Autonomyx Platform. diff --git a/index.html b/index.html index 8e396c1..ed317a4 100644 --- a/index.html +++ b/index.html @@ -1,318 +1,46 @@ - - - MCP Registry by AgentNxt | Model Context Protocol Servers - - - - - - - - - + + + MCP Registry | The Tool Catalog for AI Agents + + -
- -
-
-
-

Production-Ready
MCP Servers

-

70+ Model Context Protocol servers for your AI applications. Deploy anywhere, connect to everything.

- -
-
-
-
-
70+
MCP Servers
-
1000+
Tools Available
-
Docker
Ready to Deploy
-
-
-
-
-
๐Ÿš€

Quick Start

Pull from Docker Hub or install via npm. Running in minutes.

-
๐Ÿ”’

Security First

Non-root containers, OCI labels, multi-stage builds.

-
๐ŸŒ

Any Platform

TypeScript, Python. Local, Docker, Cloud Run, or npx.

-
-
-
-
-

Available Servers

-
-
-
- - +
+

The Tool Catalog
for MCP Agents

+

Discover reusable MCP tools that AI agents can dynamically invoke through the Model Context Protocol.

+ View on GitHub + Browse Tools + +
+

58+

Tool Packages

+

1000+

MCP Tools

+

Docker

Ready

+
+
+ +
+

Why MCP Registry?

+
    +
  • Standardized tool manifests
  • +
  • Portable Docker images
  • +
  • Discoverable by AI agents
  • +
  • Open source and community-driven
  • +
+
- \ No newline at end of file + diff --git a/package.json b/package.json index 681fe5c..89d60a8 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,37 @@ { - "name": "mcpservers", + "name": "mcp-registry", "version": "1.0.0", "private": true, - "description": "MCPHub by AgentNXXT โ€” Production-ready MCP servers for your entire stack", + "description": "The Tool Catalog for MCP-compatible AI agents.", + "packageManager": "npm@10.9.0", "workspaces": [ "packages/*" ], "scripts": { - "build": "npm run build --workspaces", - "build:changed": "npm run build --workspaces --if-present" + "build": "npm run build --workspaces --if-present", + "lint": "npm run lint --workspaces --if-present", + "test": "npm run test --workspaces --if-present", + "validate": "tsx scripts/validate-registry.ts", + "check": "npm run lint && npm run test && npm run validate" }, - "keywords": ["mcp", "model-context-protocol", "agentnxxt", "autonomyx"], + "engines": { + "node": ">=20.0.0", + "npm": ">=10.0.0" + }, + "keywords": [ + "mcp", + "model-context-protocol", + "registry", + "tools", + "ai-agents", + "agentnxt" + ], "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/agentnxxt/mcpservers.git" + "url": "https://github.com/AGenNext/mcp-registry.git" + }, + "devDependencies": { + "tsx": "4.20.6" } }