View the source code for this module on GitHub: https://github.com/mcp-use/mcp-use/blob/main/libraries/python/mcp_use/server/router.py
MCPRouter
from mcp_use.server.router import MCPRouter
method include_router
Include another router’s tools, resources, and prompts into this router.This allows for nested router organization.ParametersSignatureMCPRouterrequiredThe router to includestrdefault:""Additional prefix to add to included items
def include_router(router: MCPRouter, prefix: str = ""):
method prompt
Decorator to register a prompt with this router.Example:@router.prompt()
def greeting_prompt(name: str) -> str:
return f"Hello, \{name\}! How can I help you today?"
Returnsstr | Nonedefault:"None"Prompt name (defaults to function name)str | Nonedefault:"None"Prompt description
SignatureCallable
def prompt(name: str | None = None, description: str | None = None):
method resource
Decorator to register a resource with this router.Example:@router.resource(uri="config://app")
def get_config() -> str:
return '\{"setting": "value"\}'
ReturnsstrrequiredResource URI (required, e.g., “config://app” or “file://data.json”)str | Nonedefault:"None"Human-readable namestr | Nonedefault:"None"Resource descriptionstr | Nonedefault:"None"MIME type of the resource content
SignatureCallable
def resource(
uri: str,
name: str | None = None,
description: str | None = None,
mime_type: str | None = None
):
method tool
Decorator to register a tool with this router.Example:@router.tool()
def my_tool(arg: str) -> str:
'''Tool description here.'''
return f"Result: \{arg\}"
Returnsstr | Nonedefault:"None"Override the tool name (defaults to function name)str | Nonedefault:"None"Human-readable title for the toolstr | Nonedefault:"None"Tool description (defaults to function docstring)mcp.types.ToolAnnotations | Nonedefault:"None"MCP tool annotationsbool | Nonedefault:"None"Whether the tool returns structured output
SignatureCallable
def tool(
name: str | None = None,
title: str | None = None,
description: str | None = None,
annotations: mcp.types.ToolAnnotations | None = None,
structured_output: bool | None = None
):
PendingPrompt
from mcp_use.server.router import PendingPrompt
PendingResource
from mcp_use.server.router import PendingResource
method init
ParametersSignatureCallablerequiredParameter valuestrrequiredString valuestr | Nonedefault:"None"Name identifierstr | Nonedefault:"None"String valuestr | Nonedefault:"None"String value
def __init__(fn: Callable, uri: str, name: str | None = None, description: str | None = None, mime_type: str | None = None):
PendingTool
from mcp_use.server.router import PendingTool
method init
ParametersSignatureCallablerequiredParameter valuestr | Nonedefault:"None"Name identifierstr | Nonedefault:"None"String valuestr | Nonedefault:"None"String valuemcp.types.ToolAnnotations | Nonedefault:"None"Parameter valuebool | Nonedefault:"None"Boolean flag
def __init__(fn: Callable, name: str | None = None, title: str | None = None, description: str | None = None, annotations: mcp.types.ToolAnnotations | None = None, structured_output: bool | None = None):