xiaohongshu
xiaohongshu
mcp-async-skill
Generate Skills from HTTP MCP servers with async job patterns (submit/status/result). Use when converting MCP specifications (.mcp.json) into reusable Skills using mcp_tool_catalog.yaml, or when calling async MCP tools via JSON-RPC 2.0 with session-based polling.
Full skill instructions
Generate reusable Skills from HTTP MCP servers that use async job patterns.
.mcp.json into a packaged Skill (tool info is fetched from catalog)Many MCPs require URL inputs for media files. Use fal_client to upload local files:
# Upload file and get URL (one-liner)
python -c "import fal_client; url=fal_client.upload_file(r'/path/to/file.png'); print(f'URL: {url}')"
# Examples for different platforms:
# Windows
python -c "import fal_client; url=fal_client.upload_file(r'C:\Users\name\image.png'); print(f'URL: {url}')"
# Linux/Mac
python -c "import fal_client; url=fal_client.upload_file('/home/user/image.png'); print(f'URL: {url}')"
# Android (Termux)
python -c "import fal_client; url=fal_client.upload_file('/storage/emulated/0/Download/image.png'); print(f'URL: {url}')"
The returned URL (e.g., https://v3b.fal.media/files/...) can be used in image_url, image_urls, audio_url, etc. parameters.
Supported formats: png, jpg, jpeg, gif, webp, mp3, wav, mp4, webm, etc.
Tool information is automatically fetched from mcp_tool_catalog.yaml:
python scripts/generate_skill.py \
--mcp-config /path/to/.mcp.json
Output: .claude/skills/<skill-name>/SKILL.md
The server name in .mcp.json is used to look up tools from the catalog.
If you have a local tools.info file:
python scripts/generate_skill.py \
--mcp-config /path/to/.mcp.json \
--tools-info /path/to/tools.info \
--name my-mcp-skill
python scripts/generate_skill.py \
--mcp-config /path/to/.mcp.json \
--output /custom/path
python scripts/mcp_async_call.py \
--endpoint "https://mcp.example.com/sse" \
--submit-tool "generate_image" \
--status-tool "check_status" \
--result-tool "get_result" \
--args '{"prompt": "a cat"}' \
--output ./output
1. SUBMIT → POST JSON-RPC → Get session_id
2. STATUS → Poll with session_id → Wait for "completed"
3. RESULT → Get download URL
4. DOWNLOAD → Save file locally
All MCP calls use this structure:
{
"jsonrpc": "2.0",
"id": "unique-id",
"method": "tools/call",
"params": {
"name": "tool_name",
"arguments": { "key": "value" }
}
}
The server name must match a server id in the catalog:
{
"mcpServers": {
"t2i-kamui-fal-flux-lora": {
"type": "http",
"url": "https://kamui-code.ai/t2i/fal/flux-lora",
"headers": {
"KAMUI-CODE-PASS": "your-pass"
}
}
}
}
Or direct format:
{
"name": "t2i-kamui-fal-flux-lora",
"url": "https://kamui-code.ai/t2i/fal/flux-lora",
"auth_header": "KAMUI-CODE-PASS",
"auth_value": "your-pass"
}
Tool information is fetched from:
https://raw.githubusercontent.com/Yumeno/kamuicode-config-manager/main/mcp_tool_catalog.yaml
The catalog contains 266+ servers with tool definitions:
servers:
- id: t2i-kamui-fal-flux-lora
status: online
tools:
- name: flux_lora_submit
description: Submit Flux LoRA image generation request
inputSchema:
properties:
prompt:
description: Image prompt
type: string
required:
- prompt
type: object
Optional, for backward compatibility:
[
{
"name": "generate",
"description": "Generate content",
"inputSchema": {
"type": "object",
"properties": {
"prompt": { "type": "string", "description": "Input prompt" }
},
"required": ["prompt"]
}
}
]
scripts/mcp_async_call.pyMain async MCP caller with full flow automation.
Options:
--endpoint, -e: MCP server URL--submit-tool: Tool name for job submission--status-tool: Tool name for status checking--result-tool: Tool name for result retrieval--args, -a: Submit arguments as JSON string--args-file: Load arguments from JSON file--output, -o: Output directory (default: ./output)--poll-interval: Seconds between polls (default: 2.0)--max-polls: Maximum poll attempts (default: 300)--header: Add custom header (format: Key:Value)--config, -c: Load endpoint from .mcp.jsonscripts/generate_skill.pyGenerate complete Skill from MCP specifications.
Options:
--mcp-config, -m: Path to .mcp.json (required)--tools-info, -t: Path to tools.info (optional, legacy mode)--output, -o: Output directory--name, -n: Skill name (auto-detected if omitted)--catalog-url: Custom catalog URL (default: GitHub raw URL)Requirements:
pip install pyyaml requests (for catalog fetching)Skills are generated to .claude/skills/<skill-name>/:
.claude/skills/
└── skill-name/
├── SKILL.md # Usage documentation
├── scripts/
│ ├── mcp_async_call.py # Core async caller
│ └── skill_name.py # Convenience wrapper
└── references/
├── mcp.json # Original MCP config
└── tools.json # Original tool specs
| Status | Meaning |
|---|---|
pending, queued | Job waiting |
processing, running | In progress |
completed, done, success | Finished |
failed, error | Failed |
from scripts.mcp_async_call import run_async_mcp_job
result = run_async_mcp_job(
endpoint="https://mcp.example.com/sse",
submit_tool="generate",
submit_args={"prompt": "sunset over mountains"},
status_tool="status",
result_tool="result",
output_path="./output",
poll_interval=2.0,
max_polls=300,
)
print(result["saved_path"]) # Path to downloaded file
The script handles:
All errors raise exceptions with descriptive messages.
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience