一键导入
add-mcp-tool
Use when adding a new MCP tool to the property MCP server (mcp_server/server.py). Provides the exact pattern with a copy-paste template.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when adding a new MCP tool to the property MCP server (mcp_server/server.py). Provides the exact pattern with a copy-paste template.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | add-mcp-tool |
| description | Use when adding a new MCP tool to the property MCP server (mcp_server/server.py). Provides the exact pattern with a copy-paste template. |
Add a new tool to mcp_server/server.py following the established FastMCP pattern.
Add to mcp_server/server.py. The docstring becomes the tool description for AI hosts.
@mcp.tool()
async def new_tool(
required_param: str,
optional_param: Optional[str] = None,
limit: int = 50,
) -> ToolResult:
"""One-line description of what this tool does.
Args:
required_param: UK postcode (e.g. "SW1A 1AA")
optional_param: Optional filter description
limit: Maximum results (default 50)
"""
from property_core import SomeService # Step 2: lazy import
# Step 3: call property_core (sync → thread)
result = await anyio.to_thread.run_sync(
partial(
SomeService().method,
param=required_param,
limit=limit,
)
)
# Step 4: build and return ToolResult
data = result.model_dump(mode="json")
summary = f"Found {result.count} items for {required_param}"
return ToolResult(content=_content(summary, data), structured_content=data)
from property_core import X inside the function body, never at module top levelanyio.to_thread.run_sync(partial(...)) for sync property_core calls. For already-async functions, just await them directly.content = human-readable summary + slimmed JSON (via _content() helper)structured_content = full data dict for programmatic consumersis_configured() and return early with an explanatory message if not configured. See property_epc() for the pattern._slim(obj) — strips raw, images, floorplans from dicts recursively_content(summary, data) — builds content string: summary + "\n\n" + slimmed JSONmcp_server/server.py with @mcp.tool()asyncToolResult with both content and structured_contentArgs: section for all parametersThis skill should be used when the user asks to "create an MCP App", "add a UI to an MCP tool", "build an interactive MCP View", "scaffold an MCP App", or needs guidance on MCP Apps SDK patterns, UI-resource registration, MCP App lifecycle, or host integration. Provides comprehensive guidance for building MCP Apps with interactive UIs.
UK property analysis: comparable sales, EPC ratings, rental yields, stamp duty, market context. Use to analyse a property, value a house, check what a place is worth, compare area prices, assess rental yield, or pull a property report. Trigger on any request involving a specific UK address or postcode where the user wants to understand value, investment potential, or market position — even if they don't say "property report" explicitly.
UK property deal sourcing and investment screening. Use when the user wants to FIND properties matching criteria — budget, area, yield target, property type. Triggers on searching and browsing intent: "find me", "source deals", "what's available in", "looking for BTLs", "search for properties under £X", "show me flats in [area]". Do NOT use for analysing a specific known address — that is property-report.
Use when adding a new external data source (API, scraper, etc.) to property_core. Walks through the complete 6-step process with patterns from existing implementations.
Use when adding a new API endpoint to app/api/v1/. Covers router creation, registration, and response patterns.