104 lines
3.6 KiB
Markdown
104 lines
3.6 KiB
Markdown
# MCP Skills Inventory & Updates Needed
|
|
|
|
## What We've Built
|
|
- 30 MCP servers (TypeScript) across 10 categories
|
|
- 11 GHL MCP Apps with structuredContent UI
|
|
- ~240 total tools
|
|
- Full deployment configs (Docker, Railway, Vercel)
|
|
- Marketing assets (diagrams, comparisons, landing pages)
|
|
|
|
## Skills We Have
|
|
1. **mcp-apps-official** — Building MCP Apps with UI (located in workspace)
|
|
2. **mcporter** — Using/calling MCP servers as a client
|
|
3. **skill-creator** — Creating AgentSkills
|
|
|
|
## Skills We NEED (gaps identified)
|
|
|
|
### 1. MCP Server Development (NEW)
|
|
**Why:** We have no skill for building TypeScript MCP servers
|
|
**What it should cover:**
|
|
- Project structure (src/, dist/, package.json, tsconfig.json)
|
|
- Tool definitions with proper JSON schema
|
|
- Server.ts setup with MCP SDK
|
|
- Error handling patterns
|
|
- Resource definitions
|
|
- Prompts (if applicable)
|
|
- Testing approach
|
|
- Build/compile process
|
|
- Common pitfalls we hit 30 times
|
|
|
|
### 2. MCP Server + App Integration (NEW)
|
|
**Why:** The workflow of building server tools + apps together isn't documented
|
|
**What it should cover:**
|
|
- When to use apps vs just tools
|
|
- Passing tool results to apps
|
|
- structuredContent patterns we discovered
|
|
- App-tool coordination
|
|
- UI rendering best practices
|
|
|
|
### 3. MCP Deployment & Distribution (NEW)
|
|
**Why:** We built Docker, Railway, Vercel configs 30 times
|
|
**What it should cover:**
|
|
- Docker containerization
|
|
- Railway.json patterns
|
|
- Environment variable management
|
|
- README templates
|
|
- GitHub repo structure
|
|
- npm publishing (if applicable)
|
|
|
|
## Skills to UPDATE
|
|
|
|
### mcporter skill
|
|
**Current state:** Focuses on calling MCP servers
|
|
**What to add:**
|
|
- Examples from our 30 servers
|
|
- Common tool patterns
|
|
- Better error handling examples
|
|
|
|
### mcp-apps-official skill
|
|
**Current state:** Good foundation
|
|
**What to add:**
|
|
- Our 11 app examples as reference
|
|
- structuredContent patterns we used
|
|
- Common UI components (grids, cards, timelines)
|
|
- Best practices we discovered
|
|
|
|
## Patterns We Learned (should go in new skills)
|
|
|
|
### TypeScript MCP Server Patterns
|
|
1. **Tool naming:** verb_noun format (get_contacts, create_campaign)
|
|
2. **Schema validation:** Always use Zod for input validation
|
|
3. **Error wrapping:** Try-catch with descriptive error messages
|
|
4. **Response format:** Consistent { success, data, error } pattern
|
|
5. **Auth handling:** Environment variables, never hardcode
|
|
6. **Rate limiting:** Document in tool descriptions
|
|
7. **Pagination:** When to use it, how to expose it
|
|
8. **Type safety:** Leverage TypeScript fully, avoid `any`
|
|
|
|
### MCP App UI Patterns
|
|
1. **Grid layouts:** Contact grids, pipeline boards
|
|
2. **Card components:** Opportunity cards, invoice previews
|
|
3. **Timeline views:** Activity feeds, contact history
|
|
4. **Stats dashboards:** Campaign performance, agent metrics
|
|
5. **Forms:** Quick actions embedded in UI
|
|
6. **Structured content:** HTML-based, renders in Claude Desktop
|
|
|
|
### Integration Patterns
|
|
1. **Multi-app servers:** When one server should have multiple apps
|
|
2. **Tool → App flow:** Call tool, render result in app UI
|
|
3. **State management:** Apps are stateless, tools handle data
|
|
4. **Error states:** How to show errors in app UI
|
|
|
|
### Deployment Patterns
|
|
1. **Docker:** Multi-stage builds, environment injection
|
|
2. **Railway:** railway.json with start command + env template
|
|
3. **Vercel:** For web-based MCP servers (if applicable)
|
|
4. **GitHub:** README with setup, .env.example, gitignore
|
|
|
|
## Action Plan
|
|
1. Create `mcp-server-development` skill (comprehensive)
|
|
2. Create `mcp-apps-integration` skill (server + apps workflow)
|
|
3. Create `mcp-deployment` skill (Docker/Railway/GitHub)
|
|
4. Update `mcp-apps-official` with our 11 app examples
|
|
5. Update `mcporter` with our server examples
|