ppm_list_action_tools
List all PPM action tools and wizards exposed by this server, helping decide between custom tools and generic Odoo CRUD operations.
Instructions
List every PPM action/wizard tool this server exposes, with a one-line description.
Useful when Claude is deciding whether to call a custom tool or fall back
to the generic Odoo MCP's update_record/search_records.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/qod_ppm_mcp/server.py:509-519 (handler)The handler function that implements the 'ppm_list_action_tools' tool. It uses the MCP server's list_tools() method to enumerate all registered tools and returns their names and one-line descriptions as a list of dicts.
async def ppm_list_action_tools() -> list[dict[str, str]]: """List every PPM action/wizard tool this server exposes, with a one-line description. Useful when Claude is deciding whether to call a custom tool or fall back to the generic Odoo MCP's `update_record`/`search_records`. """ registered = await mcp.list_tools() return [ {"name": t.name, "summary": (t.description or "").strip().splitlines()[0]} for t in registered ] - src/qod_ppm_mcp/server.py:509-519 (schema)The return type annotation is list[dict[str, str]], and there are no input parameters. The tool description serves as the schema documentation.
async def ppm_list_action_tools() -> list[dict[str, str]]: """List every PPM action/wizard tool this server exposes, with a one-line description. Useful when Claude is deciding whether to call a custom tool or fall back to the generic Odoo MCP's `update_record`/`search_records`. """ registered = await mcp.list_tools() return [ {"name": t.name, "summary": (t.description or "").strip().splitlines()[0]} for t in registered ] - src/qod_ppm_mcp/server.py:508-508 (registration)The tool is registered via the @mcp.tool() decorator, where 'mcp' is a FastMCP('qod-ppm') instance from the 'mcp.server.fastmcp' package (line 19).
@mcp.tool()