Agent skill
converting-mcps-to-skills
Connect to MCP (Model Context Protocol) servers and create skills for repeated use. Load when a user wants to use an MCP server, connect to external tools via MCP, or when they mention MCP, model context protocol, or specific MCP servers.
Install this agent skill to your Project
npx add-skill https://github.com/letta-ai/letta-code/tree/main/src/skills/builtin/converting-mcps-to-skills
SKILL.md
Converting MCP Servers to Skills
Letta Code is not itself an MCP client, but as a general computer-use agent, you can easily connect to any MCP server using the scripts in this skill.
What is MCP?
MCP (Model Context Protocol) is a standard for exposing tools to AI agents. MCP servers provide tools via JSON-RPC, either over:
- HTTP - Server running at a URL (e.g.,
http://localhost:3001/mcp) - stdio - Server runs as a subprocess, communicating via stdin/stdout
Quick Start: Connecting to an MCP Server
Step 1: Determine the transport type
Ask the user:
- Is it an HTTP server (has a URL)?
- Is it a stdio server (runs via command like
npx,node,python)?
Step 2: Test the connection
For HTTP servers:
npx tsx <SKILL_DIR>/scripts/mcp-http.ts <url> list-tools
# With auth header
npx tsx <SKILL_DIR>/scripts/mcp-http.ts <url> --header "Authorization: Bearer KEY" list-tools
Where <SKILL_DIR> is the Skill Directory shown when the skill was loaded (visible in the injection header).
For stdio servers:
# First, install dependencies (one time)
cd <SKILL_DIR>/scripts && npm install
# Then connect
npx tsx <SKILL_DIR>/scripts/mcp-stdio.ts "<command>" list-tools
# Examples
npx tsx <SKILL_DIR>/scripts/mcp-stdio.ts "npx -y @modelcontextprotocol/server-filesystem ." list-tools
npx tsx <SKILL_DIR>/scripts/mcp-stdio.ts "python server.py" list-tools
Step 3: Explore available tools
# List all tools
... list-tools
# Get schema for a specific tool
... info <tool-name>
# Test calling a tool
... call <tool-name> '{"arg": "value"}'
Creating a Dedicated Skill
When an MCP server will be used repeatedly, create a dedicated skill for it. This makes future use easier and documents the server's capabilities.
Decision: Simple vs Rich Skill
Simple skill (just SKILL.md):
- Good for straightforward servers
- Documents how to use the parent skill's scripts with this specific server
- No additional scripts needed
Rich skill (SKILL.md + scripts/):
- Good for frequently-used servers
- Includes convenience wrapper scripts with defaults baked in
- Provides a simpler interface than the generic scripts
See references/skill-templates.md for templates.
Built-in Scripts Reference
mcp-http.ts - HTTP Transport
Connects to MCP servers over HTTP. No dependencies required.
npx tsx mcp-http.ts <url> [options] <command> [args]
Commands:
list-tools List available tools
list-resources List available resources
info <tool> Show tool schema
call <tool> '<json>' Call a tool
Options:
--header "K: V" Add HTTP header (repeatable)
--timeout <ms> Request timeout (default: 30000)
Examples:
# Basic usage
npx tsx mcp-http.ts http://localhost:3001/mcp list-tools
# With authentication
npx tsx mcp-http.ts http://localhost:3001/mcp --header "Authorization: Bearer KEY" list-tools
# Call a tool
npx tsx mcp-http.ts http://localhost:3001/mcp call vault '{"action":"search","query":"notes"}'
mcp-stdio.ts - stdio Transport
Connects to MCP servers that run as subprocesses. Requires npm install first.
# One-time setup
cd <SKILL_DIR>/scripts && npm install
npx tsx mcp-stdio.ts "<command>" [options] <action> [args]
Actions:
list-tools List available tools
list-resources List available resources
info <tool> Show tool schema
call <tool> '<json>' Call a tool
Options:
--env "KEY=VALUE" Set environment variable (repeatable)
--cwd <path> Set working directory
--timeout <ms> Request timeout (default: 30000)
Examples:
# Filesystem server
npx tsx mcp-stdio.ts "npx -y @modelcontextprotocol/server-filesystem ." list-tools
# With environment variable
npx tsx mcp-stdio.ts "node server.js" --env "API_KEY=xxx" list-tools
# Call a tool
npx tsx mcp-stdio.ts "python server.py" call read_file '{"path":"./README.md"}'
Common MCP Servers
Here are some well-known MCP servers:
| Server | Transport | Command/URL |
|---|---|---|
| Filesystem | stdio | npx -y @modelcontextprotocol/server-filesystem <path> |
| GitHub | stdio | npx -y @modelcontextprotocol/server-github |
| Brave Search | stdio | npx -y @modelcontextprotocol/server-brave-search |
| obsidian-mcp-plugin | HTTP | http://localhost:3001/mcp |
Troubleshooting
"Cannot connect" error:
- For HTTP: Check the URL is correct and server is running
- For stdio: Check the command works when run directly in terminal
"Authentication required" error:
- Add
--header "Authorization: Bearer YOUR_KEY"for HTTP - Or
--env "API_KEY=xxx"for stdio servers that need env vars
stdio "npm install" error:
- Run
cd <SKILL_DIR>/scripts && npm installfirst - The stdio client requires the MCP SDK
Tool call fails:
- Use
info <tool>to see the expected input schema - Ensure JSON arguments match the schema
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
adding-models
Guide for adding new LLM models to Letta Code. Use when the user wants to add support for a new model, needs to know valid model handles, or wants to update the model configuration. Covers models.json configuration, CI test matrix, and handle validation.
searching-messages
Search past messages to recall context. Use when you need to remember previous discussions, find specific topics mentioned before, pull up context from earlier in the conversation history, or find which agent discussed a topic.
working-in-parallel
Guide for working in parallel with other agents. Use when another agent is already working in the same directory, or when you need to work on multiple features simultaneously. Covers git worktrees as the recommended approach.
Migrating from Codex and Claude Code
Find and search historical conversation data from Claude Code and OpenAI Codex CLIs. Use when you need to understand a user's coding patterns, learn about a project from past sessions, or bootstrap agent memory from historical context.
migrating-memory
Migrate memory blocks from an existing agent to the current agent. Use when the user wants to copy or share memory from another agent, or during /init when setting up a new agent that should inherit memory from an existing one.
creating-skills
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.
Didn't find tool you were looking for?