MCP.so
登录
服务器

Dynamic MCP Server Framework

@scitara-cto

A flexible and extensible framework for building Model Context Protocol (MCP) servers that conforms to the [Model Context Protocol specification](

概览

What is Dynamic MCP Server Framework?

Dynamic MCP Server Framework is a flexible, extensible framework for building Model Context Protocol (MCP) servers. It supports API key–based authentication, MongoDB-backed user management and authorization, session-based per-user tool loading, and dynamic tool sharing with fine-grained access control.

How to use Dynamic MCP Server Framework?

Install via npm or clone the repository, then follow the Getting Started guide. Tools are registered as handler packages; the server is configured programmatically. Clients authenticate by passing the user’s apiKey as a query parameter (e.g., /sse?apiKey=...).

Key features of Dynamic MCP Server Framework

  • Dynamic tool management: create, delete, and authorize tools at runtime
  • User management: add, update, delete, and list users with role-based access
  • Tool sharing: share tools with other users and manage access levels
  • Modern authentication: simple API key auth with MongoDB for authorization
  • Extensibility: add custom HTTP routes and MongoDB collections in downstream projects
  • Session-based tool loading: tools are loaded per user session, not globally

Use cases of Dynamic MCP Server Framework

  • Building secure, user-aware AI tool servers that require per-user authentication
  • Enabling runtime extensibility where tools can be added or modified without restarting
  • Implementing multi-tenant environments where each user or session has tailored tool access
  • Creating collaborative tool ecosystems where tools can be shared and permissions managed

FAQ from Dynamic MCP Server Framework

What authentication method does the server use?

The server uses API key authentication. Each user is assigned a unique apiKey, which clients provide as a query parameter (e.g., /sse?apiKey=...) to authenticate.

How are tools managed and registered?

Tools are registered via handler packages. Each package groups related tools and provides a handler function for execution. Tools can be created, deleted, and authorized at runtime—not limited to static startup definitions.

Can tools be shared with other users?

Yes. The framework supports tool sharing with fine-grained access control. Users can share tools with others and manage access levels through provided API actions.

Is the server extensible for downstream projects?

Yes. The framework allows adding custom HTTP routes and MongoDB collections, enabling downstream projects to extend the server’s functionality.

What is the tool visibility model?

All tools are visible to users by default. Users can hide tools from their view using the hide-tool and unhide-tool actions.

来自「开发工具」的更多内容