mirror of
https://github.com/tadata-org/fastapi_mcp.git
synced 2025-04-13 23:32:11 +03:00
update readme and changelog
This commit is contained in:
27
CHANGELOG.md
27
CHANGELOG.md
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
- Complete refactor from function-based API to a new class-based API with `FastApiMCP`
|
||||
- Explicit separation between MCP instance creation and mounting with `mcp = FastApiMCP(app)` followed by `mcp.mount()`
|
||||
- FastAPI-native approach for transport providing more flexible routing options
|
||||
- Updated minimum MCP dependency to v1.6.0
|
||||
|
||||
### Added
|
||||
- Support for deploying MCP servers separately from API service
|
||||
- Support for "refreshing" with `setup_server()` when dynamically adding FastAPI routes. Fixes [Issue #19](https://github.com/tadata-org/fastapi_mcp/issues/19)
|
||||
- Endpoint filtering capabilities through new parameters:
|
||||
- `include_operations`: Expose only specific operations by their operation IDs
|
||||
- `exclude_operations`: Expose all operations except those with specified operation IDs
|
||||
- `include_tags`: Expose only operations with specific tags
|
||||
- `exclude_tags`: Expose all operations except those with specific tags
|
||||
|
||||
### Fixed
|
||||
- FastAPI-native approach for transport. Fixes [Issue #28](https://github.com/tadata-org/fastapi_mcp/issues/28)
|
||||
- Numerous bugs in OpenAPI schema to tool conversion, addressing [Issue #40](https://github.com/tadata-org/fastapi_mcp/issues/40) and [Issue #45](https://github.com/tadata-org/fastapi_mcp/issues/45)
|
||||
|
||||
### Removed
|
||||
- Function-based API (`add_mcp_server`, `create_mcp_server`, etc.)
|
||||
- Custom tool support via `@mcp.tool()` decorator
|
||||
|
||||
## [0.1.8]
|
||||
|
||||
### Fixed
|
||||
@@ -73,4 +98,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Claude integration for easy installation and use
|
||||
- API integration that automatically makes HTTP requests to FastAPI endpoints
|
||||
- Examples directory with sample FastAPI application
|
||||
- Basic test suite
|
||||
- Basic test suite
|
||||
50
README.md
50
README.md
@@ -110,6 +110,56 @@ mcp = FastApiMCP(
|
||||
mcp.mount()
|
||||
```
|
||||
|
||||
### Customizing Exposed Endpoints
|
||||
|
||||
You can control which FastAPI endpoints are exposed as MCP tools using Open API operation IDs or tags:
|
||||
|
||||
```python
|
||||
from fastapi import FastAPI
|
||||
from fastapi_mcp import FastApiMCP
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
# Only include specific operations
|
||||
mcp = FastApiMCP(
|
||||
app,
|
||||
include_operations=["get_user", "create_user"]
|
||||
)
|
||||
|
||||
# Exclude specific operations
|
||||
mcp = FastApiMCP(
|
||||
app,
|
||||
exclude_operations=["delete_user"]
|
||||
)
|
||||
|
||||
# Only include operations with specific tags
|
||||
mcp = FastApiMCP(
|
||||
app,
|
||||
include_tags=["users", "public"]
|
||||
)
|
||||
|
||||
# Exclude operations with specific tags
|
||||
mcp = FastApiMCP(
|
||||
app,
|
||||
exclude_tags=["admin", "internal"]
|
||||
)
|
||||
|
||||
# Combine operation IDs and tags (include mode)
|
||||
mcp = FastApiMCP(
|
||||
app,
|
||||
include_operations=["user_login"],
|
||||
include_tags=["public"]
|
||||
)
|
||||
|
||||
mcp.mount()
|
||||
```
|
||||
|
||||
Notes on filtering:
|
||||
- You cannot use both `include_operations` and `exclude_operations` at the same time
|
||||
- You cannot use both `include_tags` and `exclude_tags` at the same time
|
||||
- You can combine operation filtering with tag filtering (e.g., use `include_operations` with `include_tags`)
|
||||
- When combining filters, a greedy approach will be taken. Endpoints matching either criteria will be included
|
||||
|
||||
### Deploying Separately from Original FastAPI App
|
||||
|
||||
You are not limited to serving the MCP on the same FastAPI app from which it was created.
|
||||
|
||||
Reference in New Issue
Block a user