Agent skill

Mcporter

by AlexAI-MCP in AlexAI-MCP/hermes-CCC

Convert any CLI tool or Python function into an MCP server using fastmcp.

MITAuto-check passedAgent Workflows

Install Mcporter

skills CLI
$ npx skills add AlexAI-MCP/hermes-CCC --skill mcporter -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AlexAI-MCP/hermes-CCC mcporter --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AlexAI-MCP/hermes-CCC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/mcporter .claude/skills/mcporter && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mcporter
GitHub stars
135
Token cost
~1k tokens
SKILL.md length
72 words
Files
1
Skills in repo
44
Repo updated
First seen
Licence
MIT

At a glance

Convert any CLI tool or Python function into an MCP server using fastmcp.

  • Tasks that involve MCP servers
  • SKILL.md covers Setup, Minimal Server, Type Annotations Matter and Wrap a CLI Tool, plus 7 more sections
  • Calls pip; needs API_KEY

What it does

Mcporter is an agent skill from AlexAI-MCP/hermes-CCC. Convert any CLI tool or Python function into an MCP server using fastmcp. Zero-config tool injection into Claude Code.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol and Python. The repository describes itself as: Hermes Agent ported to Claude Code Channel — 46 native skills, no OAuth, no external process. The licence is MIT.

When your agent uses it

  • Tasks that involve MCP servers

Example prompts

  • “/mcporter”

Requirements

  • Python 3
  • A credential in API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 8107e89. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Mcporter loads about 1k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 72 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AlexAI-MCP/hermes-CCC at commit 8107e89, republished under its MIT licence (© AlexAI-MCP). 72 words, ~1,046 tokens.

Download SKILL.mdSave it as .claude/skills/mcporter/SKILL.md (or your agent's skills folder).
name
mcporter
description
Convert any CLI tool or Python function into an MCP server using fastmcp. Zero-config tool injection into Claude Code.
version
1.0.0
author
hermes-CCC (ported from Hermes Agent by NousResearch)
license
MIT

MCPorter — CLI to MCP Converter

Turn any Python function or CLI tool into an MCP server that Claude Code can call natively.

Setup

bash
pip install fastmcp

Minimal Server

python
# my_server.py
from fastmcp import FastMCP

mcp = FastMCP("my-tool")

@mcp.tool()
def hello(name: str) -> str:
    """Say hello to someone."""
    return f"Hello, {name}!"

if __name__ == "__main__":
    mcp.run()  # stdio transport (for Claude Code)

Register in .mcp.json:

json
{
  "mcpServers": {
    "my-tool": {
      "command": "python",
      "args": ["my_server.py"]
    }
  }
}

Restart Claude Code → hello tool appears natively.


Type Annotations Matter

Claude reads your type hints to understand the tool:

python
@mcp.tool()
def search_files(
    query: str,
    directory: str = ".",
    max_results: int = 10,
    case_sensitive: bool = False,
) -> list[str]:
    """Search for files matching query in directory."""
    import subprocess
    flag = "" if case_sensitive else "-i"
    result = subprocess.run(
        ["grep", "-rl", flag, query, directory],
        capture_output=True, text=True
    )
    return result.stdout.strip().split("\n")[:max_results]

Wrap a CLI Tool

python
import subprocess
from fastmcp import FastMCP

mcp = FastMCP("git-helper")

@mcp.tool()
def git_log(n: int = 10, format: str = "oneline") -> str:
    """Show git commit history."""
    result = subprocess.run(
        ["git", "log", f"-{n}", f"--format={format}"],
        capture_output=True, text=True
    )
    return result.stdout

@mcp.tool()
def git_diff(staged: bool = False) -> str:
    """Show git diff."""
    args = ["git", "diff"]
    if staged:
        args.append("--staged")
    result = subprocess.run(args, capture_output=True, text=True)
    return result.stdout

if __name__ == "__main__":
    mcp.run()

Async Tools

python
import asyncio
import httpx
from fastmcp import FastMCP

mcp = FastMCP("web-fetcher")

@mcp.tool()
async def fetch_url(url: str, timeout: int = 10) -> str:
    """Fetch content from a URL."""
    async with httpx.AsyncClient() as client:
        response = await client.get(url, timeout=timeout)
        return response.text[:5000]  # first 5k chars

if __name__ == "__main__":
    mcp.run()

Resources (Read-Only Data)

python
@mcp.resource("config://settings")
def get_settings() -> str:
    """Return current settings."""
    import json, pathlib
    settings = pathlib.Path("settings.json").read_text()
    return settings

@mcp.resource("file://{path}")
def read_file(path: str) -> str:
    """Read a file by path."""
    return pathlib.Path(path).read_text()

Prompts

python
@mcp.prompt()
def code_review_prompt(code: str, language: str = "python") -> str:
    """Generate a code review prompt."""
    return f"Review this {language} code for bugs and improvements:\n\n```{language}\n{code}\n```"

HTTP Transport (for non-CC clients)

python
if __name__ == "__main__":
    mcp.run(transport="http", host="0.0.0.0", port=8080)

Then register as:

json
{"mcpServers": {"my-tool": {"url": "http://localhost:8080/sse"}}}

Error Handling

python
@mcp.tool()
def risky_operation(value: str) -> str:
    """Do something that might fail."""
    if not value:
        raise ValueError("value cannot be empty")  # MCP returns error to Claude
    return process(value)

Test Interactively

bash
fastmcp dev my_server.py
# Opens interactive MCP inspector in browser

With Environment Variables

json
{
  "mcpServers": {
    "my-api": {
      "command": "python",
      "args": ["api_server.py"],
      "env": {
        "API_KEY": "your-secret-key",
        "BASE_URL": "https://api.example.com"
      }
    }
  }
}

© AlexAI-MCP, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/mcporter of AlexAI-MCP/hermes-CCC.

Open the folder on GitHubat commit 8107e89

Compare with similar skills

Mcporter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Mcporter compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mcporter this skillAlexAI-MCP/hermes-CCC135—~1kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
MCP Server BuildershareAI-lab/learn-claude-code78k4 repos~1.2kAutomated safety check: PassMIT
MemPalace Setup and OperationMemPalace/mempalace60k—~2.2kAutomated safety check: PassMIT
FastmcpTommy-yw/RunbookHermes5463 repos~2.1kAutomated safety check: PassMIT
Fastmcp Client CLIPrefectHQ/fastmcp28k—~823Automated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    shareAI-lab/learn-claude-code

    Walks through building MCP servers in Python or TypeScript that expose tools, resources and prompts to Claude, with templates, registration and testing.

    78k GitHub starsUsed in 4 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Installs and configures MemPalace as a private local palace, a shared-brain hub or a client of an existing hub, including MCP registration and version-correct initialization.

    60k GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Fastmcp

    Tommy-yw/RunbookHermes

    Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.

    546 GitHub starsUsed in 3 repos~2.1k tokens
    Agent WorkflowsAuto-check passed
  • Fastmcp Client CLI

    PrefectHQ/fastmcp

    Query and invoke tools on MCP servers using fastmcp list and fastmcp call.

    28k GitHub stars~823 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Migrate To Archestra

    archestra-ai/archestra

    Migrate an existing agentic PoC/pilot (Claude Code project files, MCP configs, hooks, local tools, openclaw config, or similar hand-rolled setup artifacts) into an Archestra instance.

    4.4k GitHub stars~2.5k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from AlexAI-MCP/hermes-CCC

All 44 skills in this repo
  • GitHub Code Review

    AlexAI-MCP/hermes-CCC

    Review GitHub pull requests with a findings-first engineering mindset.

    135 GitHub stars~1.3k tokensUpdated 6 mo ago
    Auto-check passed
  • GitHub PR Workflow

    AlexAI-MCP/hermes-CCC

    Run a disciplined GitHub pull request workflow from branch creation through merge.

    135 GitHub stars~1.4k tokensUpdated 6 mo ago
    Auto-check passed
  • Hermes Memory

    AlexAI-MCP/hermes-CCC

    Manage durable project memory for Claude Code. An agent skill from AlexAI-MCP/hermes-CCC.

    135 GitHub stars~1.7k tokensUpdated 6 mo ago
    Auto-check passed
  • Hermes Route

    AlexAI-MCP/hermes-CCC

    Route Claude Code work by complexity, risk, and tool needs. An agent skill from AlexAI-MCP/hermes-CCC.

    135 GitHub stars~1.9k tokensUpdated 6 mo ago
    Auto-check passed
  • Hermes Skill

    AlexAI-MCP/hermes-CCC

    Create, improve, inventory, and audit Claude Code skills. An agent skill from AlexAI-MCP/hermes-CCC.

    135 GitHub stars~1.7k tokensUpdated 6 mo ago
    Auto-check passed
  • Hermes Traj

    AlexAI-MCP/hermes-CCC

    Capture Claude Code interaction trajectories in training-friendly formats.

    135 GitHub stars~1.6k tokensUpdated 6 mo ago
    Auto-check passed

Categories

Questions about Mcporter

What does Mcporter do?

Convert any CLI tool or Python function into an MCP server using fastmcp. Mcporter is an agent skill from AlexAI-MCP/hermes-CCC. Convert any CLI tool or Python function into an MCP server using fastmcp.

When should I use Mcporter?

Mcporter fits situations like: tasks that involve MCP servers.

How do I install Mcporter in Claude Code?

Run `npx skills add AlexAI-MCP/hermes-CCC --skill mcporter -a claude-code`. Or copy the skill folder (skills/mcporter in AlexAI-MCP/hermes-CCC) into .claude/skills/mcporter in your project. Claude Code loads it when a task matches its description.

How do I install Mcporter in Codex?

Run `npx skills add AlexAI-MCP/hermes-CCC --skill mcporter -a codex`. Or copy the skill folder (skills/mcporter in AlexAI-MCP/hermes-CCC) into .agents/skills/mcporter in your project. Codex loads it when a task matches its description.

Can I use Mcporter in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AlexAI-MCP/hermes-CCC --skill mcporter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mcporter, .gemini/skills/mcporter, .github/skills/mcporter and .opencode/skills/mcporter in your project.

What does Mcporter need to run?

Going by SKILL.md and its folder, Mcporter needs the command-line tools its instructions call (pip) and credentials named API_KEY. Our summary lists: Python 3; A credential in API_KEY.

Does Mcporter access the network?

SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Mcporter safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Mcporter use?

Mcporter is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mcporter use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Mcporter?

Skills that share tags, products or a category with Mcporter: MCP Server Builder (anthropics/skills, 180k stars), MCP Server Builder (shareAI-lab/learn-claude-code, 78k stars), MemPalace Setup and Operation (MemPalace/mempalace, 60k stars) and Fastmcp (Tommy-yw/RunbookHermes, 546 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mcporter?

AlexAI-MCP (a GitHub user) maintains it in AlexAI-MCP/hermes-CCC, which has 135 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on April 8, 2026.

Source: AlexAI-MCP/hermes-CCC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.