CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

67

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

SKILL.md
Quality
Evals
Security

Security

1 high severity finding. You should review these findings carefully before considering using this skill.

High

W007: Insecure credential handling detected in skill instructions.

What this means

The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.

Why it was flagged

The skill's examples and troubleshooting explicitly show inserting bearer tokens and API keys directly into command-line flags (e.g., --header "Authorization: Bearer KEY", --env "API_KEY=xxx"), which requires the agent to include secret values verbatim in generated commands and is an exfiltration risk.

Report incorrect finding

Low

Low-risk findings.

2 low severity findings. Worth noting, but not necessarily harmful.

Low

W011: Third-party content exposure detected (indirect prompt injection risk).

What this means

The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.

Why it was flagged

HIGH: the required runtime workflow fetches and parses outsider-authored HTTP responses/SSE data from an arbitrary user-supplied MCP server URL (HTTP category: public/outsider content fetched at runtime) via `fetchResponse.text()/fetchResponse.json()` in `scripts/mcp-http.ts`, and also relays server-provided JSON-RPC results (tool descriptions/schemas) which can contain free-text into the calling agent’s context through tool outputs.

Low

W012: Unverifiable external dependency detected (runtime URL that controls agent).

What this means

The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.

Why it was flagged

The skill includes example stdio commands that invoke npx to fetch-and-run npm packages at runtime (e.g. "npx -y @modelcontextprotocol/server-filesystem .", "npx -y @modelcontextprotocol/server-github", "npx -y @modelcontextprotocol/server-brave-search"), which will download and execute remote code when run.

Repository
letta-ai/letta-code
Audited
Security analysis
Snyk

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.