Sharing Your MCP
This tutorial walks you through adding an MCP to the Skola marketplace so your teammates can install it with a single command.
An MCP (Model Context Protocol server) extends AI agents with new tools and data sources. Skola handles installation, config injection, and discovery — you just need to write the metadata.
Prerequisites
- Your MCP is already working locally
- It's distributed via PyPI, npm, or a GitHub repo
- You have
skolainstalled and have runskola init
1. Scaffold the MCP metadata
skola create mcp my-mcp
You'll be prompted for:
- Description
- Distribution type (pypi, npm, github, docker)
- Package name
Skola creates:
my-mcp/
├── README.md ← usage docs
└── metadata.yaml ← registry metadata
2. Fill in metadata.yaml
Open metadata.yaml. The key sections to complete:
name: my-mcp
version: "1.0.0"
description: "One-line description of what this MCP does."
author:
team: your-team-name
contact: "#your-slack-channel"
tags:
- relevant-tag
distribution:
type: pypi # pypi | npm | github | docker
package: my-mcp-package # pip/npm package name, or repo URL for github
# Environment variables the MCP needs
mcp_config:
env:
API_KEY:
description: "API key for authentication"
required: true
secret: true # masks input during install
BASE_URL:
description: "Base URL of the service"
required: false
default: "https://api.example.com"
compatible_with:
- claude
- opencode
- cursor
Distribution types
| Type | distribution.package value |
Example |
|---|---|---|
pypi |
PyPI package name | sentry-mcp |
npm |
npm package name | @company/my-mcp |
github |
Full repo URL | https://github.com/org/my-mcp |
docker |
Docker image name | company/my-mcp:latest |
3. Write README.md
Document: - What tools/resources the MCP exposes - What each environment variable does - Example interactions with the AI
4. Test the install locally
Point skola install at your local directory by temporarily editing ~/.skola/config.yaml to point to a local registry, or test the metadata validation directly:
skola publish mcp/my-mcp # runs validation first, shows errors before opening PR
5. Publish to the marketplace
skola publish mcp/my-mcp
This forks the marketplace repo, creates a branch, copies your files into mcps/my-mcp/, and opens a PR.
6. After it merges
Your MCP appears in search results immediately:
skola search my-mcp
skola install mcp/my-mcp
Skola will:
1. Install the package via pip/npm/git
2. Prompt for all mcp_config.env variables (masking secrets)
3. Write the MCP entry to ~/.claude/mcp_settings.json (or whichever tool the user chooses)
4. Instruct the user to restart their AI tool
Tips
| Do | Don't |
|---|---|
Mark secret vars with secret: true |
Store credentials in metadata |
| Provide sensible defaults for optional vars | Mark everything as required |
| Document each tool the MCP exposes in README | Leave README as the template boilerplate |
| Use semantic versioning | Leave version as "1.0.0" forever |
Test with a fresh skola install mcp/<name> |
Assume the install path works |
