Skip to content
Finance
Skill

/mcp-server

Guide for creating new MCP server integrations

BOOST
From plugin
well
34637 skills
Install
$ npx -y skills add WellApp-ai/Well --skill mcp-server --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/mcp-server

Context preview

The summary Claude sees to decide when to auto-load this skill.

Guide for creating new MCP server integrations

SKILL.md

mcp-server.SKILL.md
name: mcp-server
description: Guide for creating new MCP server integrations

MCP Server Creation Guide

Use this skill when creating a new MCP server integration.

MCP Folder Structure

MCPs live in: `~/.cursor/projects/<project>/mcps/<server-name>/`

mcps/
├── user-notion/
│   └── tools/
│       ├── API-retrieve-a-page.json
│       └── ...
├── cursor-ide-browser/
│   └── tools/
│       ├── browser_navigate.json
│       └── ...
└── user-n8n-mcp/
    └── tools/
        └── ...

Tool Descriptor Format

Each tool is a JSON file:

{
  "name": "tool-name",
  "description": "What this tool does",
  "arguments": {
    "type": "object",
    "properties": {
      "param1": { "type": "string", "description": "..." }
    },
    "required": ["param1"]
  }
}

Usage Pattern

1. Read tool descriptor before calling 2. Use `CallMcpTool` with server, toolName, arguments 3. Handle response appropriately

Example Call

CallMcpTool:
  server: "user-notion"
  toolName: "API-retrieve-a-page"
  arguments: { "page_id": "abc123" }

Existing MCPs Reference

| MCP | Capabilities | |-----|--------------| | **user-notion** | Page/block CRUD, search, comments | | **cursor-ide-browser** | Navigation, clicks, screenshots, console | | **user-n8n-mcp** | Workflow search, details, execution | | **user-context7** | Library docs lookup | | **figma** | Design specs, code generation from frames |

Creating a New MCP

1. Create folder: `mcps/<server-name>/tools/` 2. Add tool descriptors as JSON files 3. Configure server in `~/.cursor/mcp.json` 4. Restart Cursor (Cmd+Shift+P > "Reload Window") 5. Test with `CallMcpTool`

Authentication Patterns

Pattern 1: API Token (env block)

For MCPs that use API keys (Notion, n8n):

"mcp-name": {
  "command": "npx",
  "args": ["-y", "@package/mcp-server"],
  "env": {
    "API_KEY": "your-token-here"
  }
}

Pattern 2: URL-based (no auth)

For MCPs that connect to local servers (Figma desktop):

"mcp-name": {
  "url": "http://127.0.0.1:PORT/mcp"
}

Pattern 3: OAuth (remote URL)

For MCPs that use browser OAuth (Figma remote):

"mcp-name": {
  "url": "https://service.com/mcp"
}

After adding, click "Connect" in Cursor MCP settings to authorize.

Troubleshooting

**Installation loops infinitely:**

  • Cancel and manually edit `~/.cursor/mcp.json`
  • Add config block directly, then restart Cursor

**MCP not appearing:**

  • Check JSON syntax is valid
  • Verify package name is correct
  • Restart Cursor after changes

Best Practices

  • Always read tool schema before calling
  • Handle errors gracefully
  • Use descriptive tool names
  • Document required vs optional parameters
Read more
Ships withwell

You don't have to waste time retrieving invoices. AI can.

Get the whole plugin
Stats
346
Stars
49
Forks
Active
Maintenance
TypeScript
Language
MIT
License
4d ago
Last commit
1y ago
Created
6h ago
Added

Repo: WellApp-ai/Well

Other skills on well.