feat: add MCP server templates and deployment infrastructure

Introduce a Helm-chart-like template system for MCP servers. Templates are
YAML files in templates/ that get seeded into the DB on startup. Users can
browse them with `mcpctl get templates`, inspect with `mcpctl describe
template`, and instantiate with `mcpctl create server --from-template=`.

Also adds Portainer deployment scripts, mcplocal systemd service,
Streamable HTTP MCP endpoint, and RPM packaging for mcpctl-local.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-02-22 22:24:35 +00:00
parent 8a4ff6e378
commit 73fb70dce4
46 changed files with 1299 additions and 338 deletions

View File

@@ -0,0 +1,6 @@
name: filesystem
version: "1.0.0"
description: Filesystem MCP server for reading and writing files
packageName: "@anthropic/filesystem-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem

10
templates/github.yaml Normal file
View File

@@ -0,0 +1,10 @@
name: github
version: "1.0.0"
description: GitHub MCP server for repos, issues, PRs, and code search
packageName: "@anthropic/github-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/github
env:
- name: GITHUB_TOKEN
description: Personal access token with repo scope
required: true

16
templates/jira.yaml Normal file
View File

@@ -0,0 +1,16 @@
name: jira
version: "1.0.0"
description: Jira MCP server for issues, projects, and boards
packageName: "@anthropic/jira-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/jira
env:
- name: JIRA_URL
description: Jira instance URL (e.g. https://company.atlassian.net)
required: true
- name: JIRA_EMAIL
description: Jira account email
required: true
- name: JIRA_API_TOKEN
description: Jira API token
required: true

10
templates/postgres.yaml Normal file
View File

@@ -0,0 +1,10 @@
name: postgres
version: "1.0.0"
description: PostgreSQL MCP server for database queries and schema inspection
packageName: "@anthropic/postgres-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/postgres
env:
- name: POSTGRES_CONNECTION_STRING
description: PostgreSQL connection string (e.g. postgresql://user:pass@host:5432/db)
required: true

10
templates/slack.yaml Normal file
View File

@@ -0,0 +1,10 @@
name: slack
version: "1.0.0"
description: Slack MCP server for reading channels, messages, and user info
packageName: "@anthropic/slack-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/slack
env:
- name: SLACK_BOT_TOKEN
description: Slack bot token (xoxb-...)
required: true

6
templates/terraform.yaml Normal file
View File

@@ -0,0 +1,6 @@
name: terraform
version: "1.0.0"
description: Terraform MCP server for infrastructure documentation and state
packageName: "@anthropic/terraform-mcp"
transport: STDIO
repositoryUrl: https://github.com/modelcontextprotocol/servers/tree/main/src/terraform