Agent Skills MCP
Agent Skills MCP
A remote MCP server that hands agent skills to Claude on request.
Ask "I need a skill for local lead research" and Claude calls get_skill,
reads the instructions, asks you for what the skill needs, and gets to work.
Skills live in a database rather than in the deployment, so editing one is a seed command, not a redeploy.
What it does and does not do
This server serves skills. It does not run them, and that is deliberate.
A skill needs the user's own API tokens and writes files to the user's own machine. A remote server has neither. So the split is:
Where | |
The instructions | Here, in the database |
The API token | The user's machine, never sent to this server |
Running the code | The user's agent |
The output file | The user's disk |
The server sends instructions. The agent on the other end carries them out with credentials this server never sees.
Tools
Tool | What it does |
| Lists every skill with its description, so the agent can pick one from a topic. |
| Returns one skill's full markdown. Matching is forgiving: "local lead research", "local-lead-research" and "lead" all resolve to the same skill. |
Setup
1. Create the table. In your Supabase project, open the SQL editor and run
supabase.sql.
2. Seed it from the .SKILL files in skills/, which are the
source of truth:
cp .env.example .env && npm install && npm run seed3. Deploy to Vercel. Import the repo, then set two environment variables:
Variable | Value |
|
|
| your anon key |
The service role key stays on your machine for seeding. The server only reads, so it only needs the anon key.
4. Connect it to Claude. Settings → Connectors → Add custom connector, and paste your endpoint:
https://your-app.vercel.app/api/mcpEditing a skill
Edit the file in skills/, then:
npm run seedLive within a minute, no redeploy. Responses are cached for 60 seconds so a burst of calls hits the database once.
Adding a skill
A skill is markdown with YAML frontmatter, saved with a .SKILL extension:
---
name: my-skill
description: One sentence on what it does and when to use it. Agents read this to decide whether the skill is relevant, so it matters more than it looks.
---
# My skill
Instructions for the agent...Drop it into skills/, run the seed, done.
Local development
npm install
npm run devThe endpoint is http://localhost:3000/api/mcp. Point the MCP Inspector at it
to try the tools without a Claude connector:
npx @modelcontextprotocol/inspectorSecurity
No secrets pass through the conversation. The server holds no user credentials and has no tool that accepts one.
The database is read-only in production. Row level security allows anonymous
selectand nothing else; writes need the service role key, which never reaches the deployment.The endpoint is unauthenticated. Skills are public instructions, so anyone with the URL can read them. Put auth in front of it before storing anything you would not publish.
License
MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alwicz/agent-skills-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server