{"repo":"ragieai/dynamic-fastmcp","free":true,"listed":false,"github":"https://github.com/ragieai/dynamic-fastmcp","clone":"git clone https://github.com/ragieai/dynamic-fastmcp.git","description":"Dynamic FastMCP extends the Model Context Protocol Python server with context-aware tools that adapt their behavior and descriptions based on user, tenant, and request context.","language":"Python","stars":45,"topics":["context-aware","dynamic-tools","model-context-protocol","model-context-protocol-server","python","fastapi","fastmcp"],"license":null,"category":"mcp-servers","readme_excerpt":"Dynamic FastMCP Dynamic FastMCP is a Python library that extends the Official Model Context Protocol (MCP) Python SDK with dynamic tool capabilities. It allows you to create MCP tools that can adapt their behavior and descriptions based on request context, user information, and path parameters. Using Dynamic FastMCP to power Context-Aware Tools at Ragie Dynamic FastMCP is used to power our multi-tenant Streamable HTTP MCP Server at Ragie. To learn more about how we use it in production, check out our blog post on Making MCP Tool Use Feel Natural with Context-Aware Tools. Features - Dynamic Tool Descriptions : Tool descriptions that change based on context (user, request path, etc.) - Context-Aware Tool Execution : Tools that can access request context during execution - Hybrid Tool Support : Seamlessly combines regular MCP tools with dynamic tools - FastAPI Integration : Easily mount on FastAPI applications with authentication - Multi-tenant Support : Perfect for applications where tool behavior varies per user or tenant Installation Or using UV: Quick Start Basic Usage FastAPI Integration Dynamic Tools Dynamic tools implement the DynamicTool protocol and provide context-aware functionality: Required Methods - name() → str : Return the tool name - structured output() → bool None : Whether the tool returns structured output - handle description(ctx: Context) → Awaitable[str] : Return context-aware description - handle call( args, kwargs) → Awaitable[Any] : Handle the tool exec","default_branch":null,"files":null,"tree":[],"storefront":"/r/ragieai","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ragieai/dynamic-fastmcp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}