Skip to main content

MCP server integration for the Agent Skills format — expose skills as MCP tools and resources (https://agentskills.io)

Project description

agentskills-mcp-server

PyPI Python 3.12 | 3.13 License: MIT

MCP server integration for the Agent Skills SDK - expose a skill registry as an MCP server.

Creates a Model Context Protocol server from a SkillRegistry, exposing skills as MCP tools and resources. Works with any MCP-compatible client (Claude Desktop, VS Code, custom clients, etc.).

Installation

pip install agentskills-mcp-server

With provider extras:

pip install agentskills-mcp-server[fs]    # filesystem provider
pip install agentskills-mcp-server[http]  # HTTP provider

Requires Python 3.12 or 3.13. Installs agentskills-core, mcp, and pydantic as dependencies.

Quick Start (CLI)

Create a server.json config file:

{
    "name": "My Skills Server",
    "skills": [
        {
            "id": "incident-response",
            "provider": "fs",
            "options": {"root": "./skills"}
        }
    ]
}

Start the server:

python -m agentskills_mcp_server --config server.json

With Streamable HTTP transport:

python -m agentskills_mcp_server --config server.json --transport streamable-http

The server listens on http://127.0.0.1:8000/mcp.

MCP Client Integration

Any MCP-compatible client (Claude Desktop, VS Code, etc.) can connect to the server.

Stdio (local):

{
    "command": "python",
    "args": ["-m", "agentskills_mcp_server", "--config", "server.json"]
}

Streamable HTTP (remote):

{
    "url": "http://127.0.0.1:8000/mcp"
}

Config Reference

The server.json file supports the following structure:

Field Type Required Description
name str Yes Display name shown to MCP clients
instructions str No Server-level instructions sent during handshake
skills list Yes One or more skill definitions (see below)

Each skill entry:

Field Type Required Description
id str Yes Skill identifier
provider str Yes Provider type: "fs" or "http"
options dict No Provider-specific options

Provider options:

  • fs: root (path to skills directory, default ".")
  • http: base_url (required), headers (optional), params (optional query string parameters)

Only "fs" and "http" are supported as provider types.

Environment Variable Substitution

String values in the config file may contain ${VAR} placeholders that are resolved from environment variables at load time:

{
    "name": "My Skills Server",
    "skills": [
        {
            "id": "cloud-runbooks",
            "provider": "http",
            "options": {
                "base_url": "https://cdn.example.com/skills",
                "headers": { "Authorization": "Bearer ${API_TOKEN}" },
                "params": { "sig": "${SAS_TOKEN}" }
            }
        }
    ]
}

Unset variables resolve to an empty string and a warning is logged.

Programmatic Usage

For custom providers or advanced setups, use the Python API directly:

from agentskills_core import SkillRegistry
from agentskills_mcp_server import create_mcp_server

registry = SkillRegistry()
await registry.register("incident-response", my_custom_provider)

server = create_mcp_server(registry, name="My Skills Server")
server.run()  # stdio by default

Tools

The server exposes tools that let the LLM agent access skill content:

Tool Parameters Description
get_skill_metadata skill_id Read frontmatter (name, description, etc.)
get_skill_body skill_id Load full skill instructions
get_skill_reference skill_id, name Read a reference document
get_skill_script skill_id, name Read a script
get_skill_asset skill_id, name Read an asset

Resources

The server provides resources for system-prompt context:

URI Description
skills://catalog/xml XML catalog of all registered skills
skills://catalog/markdown Markdown catalog of all registered skills
skills://tools-usage-instructions Workflow instructions for using the tools

The MCP client reads these resources and injects them into the system prompt, giving the agent both what skills exist and how to interact with them.

API

create_mcp_server(registry, *, name, instructions=None) -> FastMCP

Parameter Type Description
registry SkillRegistry The registry whose skills are exposed
name str Display name for the MCP server (required)
instructions str | None Optional server-level instructions sent to clients

Returns a configured FastMCP instance ready for server.run().

Supported transport modes: stdio (default), streamable-http.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentskills_mcp_server-0.2.3.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentskills_mcp_server-0.2.3-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file agentskills_mcp_server-0.2.3.tar.gz.

File metadata

  • Download URL: agentskills_mcp_server-0.2.3.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.13.9 Windows/11

File hashes

Hashes for agentskills_mcp_server-0.2.3.tar.gz
Algorithm Hash digest
SHA256 8f64baf23f62fc792ec7dce9e9ba0a4f54a75e2066fb0e07d64f6d089bd13ad7
MD5 c100b4f5065c435cc581e7a8e85ef3e0
BLAKE2b-256 0d1650bd82ec720e1a3084220297a3e96caf7b793941c99bba280b4d8f092dba

See more details on using hashes here.

File details

Details for the file agentskills_mcp_server-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for agentskills_mcp_server-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 885e10b04a6dccac9d3ef75f6e2768e1f975582f2251d6afcf1e35dc1930b3fc
MD5 b1d8dbf887d0b02b41ba9e50beede6ab
BLAKE2b-256 289ecbb6c80f825498ba461a0fe0952fe74f5fb76b99fc29f22e28b358577556

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page