mirror of
https://github.com/tadata-org/fastapi_mcp.git
synced 2025-04-13 23:32:11 +03:00
cosmetics
This commit is contained in:
20
CHANGELOG.md
Normal file
20
CHANGELOG.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
|
## [0.1.0] - 2024-03-08
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Initial release of FastAPI-MCP
|
||||||
|
- Core functionality for converting FastAPI applications to MCP servers
|
||||||
|
- CLI tool for generating, running, and installing MCP servers
|
||||||
|
- Automatic discovery of FastAPI endpoints
|
||||||
|
- Type-safe conversion from FastAPI endpoints to MCP tools
|
||||||
|
- Documentation preservation from FastAPI to MCP
|
||||||
|
- 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
|
||||||
76
CONTRIBUTING.md
Normal file
76
CONTRIBUTING.md
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
# Contributing to FastAPI-MCP
|
||||||
|
|
||||||
|
First off, thank you for considering contributing to FastAPI-MCP!
|
||||||
|
|
||||||
|
## Development Process
|
||||||
|
|
||||||
|
1. Fork the repository
|
||||||
|
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
||||||
|
3. Make your changes
|
||||||
|
4. Run the tests (`pytest`)
|
||||||
|
5. Format your code (`black .` and `isort .`)
|
||||||
|
6. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
||||||
|
7. Push to the branch (`git push origin feature/amazing-feature`)
|
||||||
|
8. Open a Pull Request
|
||||||
|
|
||||||
|
## Setting Up Development Environment
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone your fork
|
||||||
|
git clone https://github.com/tadata-org/fastapi_mcp
|
||||||
|
cd fastapi-mcp
|
||||||
|
|
||||||
|
# Create a virtual environment
|
||||||
|
python -m venv venv
|
||||||
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||||
|
|
||||||
|
# Install development dependencies
|
||||||
|
pip install -e ".[dev]"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Code Style
|
||||||
|
|
||||||
|
We use the following tools to ensure code quality:
|
||||||
|
|
||||||
|
- **Black** for code formatting
|
||||||
|
- **isort** for import sorting
|
||||||
|
- **ruff** for linting
|
||||||
|
- **mypy** for type checking
|
||||||
|
|
||||||
|
Please make sure your code passes all checks before submitting a pull request:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
black .
|
||||||
|
isort .
|
||||||
|
ruff check .
|
||||||
|
mypy .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
We use pytest for testing. Please write tests for any new features and ensure all tests pass:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pytest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Pull Request Process
|
||||||
|
|
||||||
|
1. Ensure your code follows the style guidelines of the project
|
||||||
|
2. Update the README.md with details of changes if applicable
|
||||||
|
3. The versioning scheme we use is [SemVer](http://semver.org/)
|
||||||
|
4. Include a descriptive commit message
|
||||||
|
5. Your pull request will be merged once it's reviewed and approved
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
Please note we have a code of conduct, please follow it in all your interactions with the project.
|
||||||
|
|
||||||
|
- Be respectful and inclusive
|
||||||
|
- Be collaborative
|
||||||
|
- When disagreeing, try to understand why
|
||||||
|
- A diverse community is a strong community
|
||||||
|
|
||||||
|
## Questions?
|
||||||
|
|
||||||
|
Don't hesitate to open an issue if you have any questions about contributing to FastAPI-MCP.
|
||||||
@@ -21,7 +21,7 @@ You can also install FastAPI-MCP from source:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone the repository
|
# Clone the repository
|
||||||
git clone https://github.com/yourusername/fastapi-mcp.git
|
git clone https://github.com/tadata-org/fastapi_mcp.git
|
||||||
cd fastapi-mcp
|
cd fastapi-mcp
|
||||||
|
|
||||||
# Install the package
|
# Install the package
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2024 FastAPI-MCP Team
|
Copyright (c) 2024 Tadata Inc.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
10
MANIFEST.in
Normal file
10
MANIFEST.in
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
include LICENSE
|
||||||
|
include README.md
|
||||||
|
include INSTALL.md
|
||||||
|
include pyproject.toml
|
||||||
|
include setup.py
|
||||||
|
|
||||||
|
recursive-include examples *.py *.md
|
||||||
|
recursive-include tests *.py
|
||||||
|
|
||||||
|
global-exclude *.py[cod] __pycache__ *.so *.dylib .DS_Store
|
||||||
@@ -183,8 +183,12 @@ For more examples, see the [examples](examples) directory.
|
|||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions are welcome! Please feel free to submit a pull request.
|
Contributions are welcome! Please feel free to submit a pull request. See [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT
|
MIT License. Copyright (c) 2024 Tadata Inc.
|
||||||
|
|
||||||
|
## About
|
||||||
|
|
||||||
|
Developed and maintained by [Tadata Inc.](https://github.com/tadata-org)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
FastAPI-MCP: Automatic MCP server generator for FastAPI applications.
|
FastAPI-MCP: Automatic MCP server generator for FastAPI applications.
|
||||||
|
|
||||||
|
Created by Tadata Inc. (https://github.com/tadata-org)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.1.0"
|
__version__ = "0.1.0"
|
||||||
@@ -5,12 +5,12 @@ build-backend = "hatchling.build"
|
|||||||
[project]
|
[project]
|
||||||
name = "fastapi-mcp"
|
name = "fastapi-mcp"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "Automatic MCP server generator for FastAPI applications"
|
description = "Automatic MCP server generator for FastAPI applications - converts FastAPI endpoints to MCP tools for LLM integration"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
license = {file = "LICENSE"}
|
license = {file = "LICENSE"}
|
||||||
authors = [
|
authors = [
|
||||||
{name = "FastAPI MCP Team", email = "contact@example.com"},
|
{name = "Tadata Inc.", email = "itay@tadata.com"},
|
||||||
]
|
]
|
||||||
classifiers = [
|
classifiers = [
|
||||||
"Development Status :: 3 - Alpha",
|
"Development Status :: 3 - Alpha",
|
||||||
@@ -20,7 +20,11 @@ classifiers = [
|
|||||||
"Programming Language :: Python :: 3.10",
|
"Programming Language :: Python :: 3.10",
|
||||||
"Programming Language :: Python :: 3.11",
|
"Programming Language :: Python :: 3.11",
|
||||||
"Programming Language :: Python :: 3.12",
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
|
"Topic :: Internet :: WWW/HTTP",
|
||||||
|
"Framework :: FastAPI",
|
||||||
]
|
]
|
||||||
|
keywords = ["fastapi", "mcp", "llm", "claude", "ai", "tools", "api", "conversion"]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fastapi>=0.100.0",
|
"fastapi>=0.100.0",
|
||||||
"typer>=0.9.0",
|
"typer>=0.9.0",
|
||||||
@@ -28,8 +32,15 @@ dependencies = [
|
|||||||
"mcp>=1.3.0",
|
"mcp>=1.3.0",
|
||||||
"pydantic>=2.0.0",
|
"pydantic>=2.0.0",
|
||||||
"uvicorn>=0.20.0",
|
"uvicorn>=0.20.0",
|
||||||
|
"requests>=2.25.0",
|
||||||
|
"inspect-mate>=0.0.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Homepage = "https://github.com/tadata-org/fastapi_mcp"
|
||||||
|
Documentation = "https://github.com/tadata-org/fastapi_mcp#readme"
|
||||||
|
"Bug Tracker" = "https://github.com/tadata-org/fastapi_mcp/issues"
|
||||||
|
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
dev = [
|
dev = [
|
||||||
"pytest>=7.0.0",
|
"pytest>=7.0.0",
|
||||||
|
|||||||
20
setup.py
20
setup.py
@@ -3,9 +3,9 @@ from setuptools import setup
|
|||||||
setup(
|
setup(
|
||||||
name="fastapi-mcp",
|
name="fastapi-mcp",
|
||||||
version="0.1.0",
|
version="0.1.0",
|
||||||
description="Automatic MCP server generator for FastAPI applications",
|
description="Automatic MCP server generator for FastAPI applications - converts FastAPI endpoints to MCP tools for LLM integration",
|
||||||
author="FastAPI MCP Team",
|
author="Tadata Inc.",
|
||||||
author_email="contact@example.com",
|
author_email="itay@tadata.com",
|
||||||
packages=["fastapi_mcp"],
|
packages=["fastapi_mcp"],
|
||||||
python_requires=">=3.10",
|
python_requires=">=3.10",
|
||||||
install_requires=[
|
install_requires=[
|
||||||
@@ -15,6 +15,7 @@ setup(
|
|||||||
"mcp>=1.3.0",
|
"mcp>=1.3.0",
|
||||||
"pydantic>=2.0.0",
|
"pydantic>=2.0.0",
|
||||||
"uvicorn>=0.20.0",
|
"uvicorn>=0.20.0",
|
||||||
|
"requests>=2.25.0",
|
||||||
"inspect-mate>=0.0.2",
|
"inspect-mate>=0.0.2",
|
||||||
],
|
],
|
||||||
entry_points={
|
entry_points={
|
||||||
@@ -22,4 +23,17 @@ setup(
|
|||||||
"fastapi-mcp=fastapi_mcp.cli:app",
|
"fastapi-mcp=fastapi_mcp.cli:app",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
classifiers=[
|
||||||
|
"Development Status :: 3 - Alpha",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"Programming Language :: Python :: 3.10",
|
||||||
|
"Programming Language :: Python :: 3.11",
|
||||||
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||||
|
"Topic :: Internet :: WWW/HTTP",
|
||||||
|
"Framework :: FastAPI",
|
||||||
|
],
|
||||||
|
keywords=["fastapi", "mcp", "llm", "claude", "ai", "tools", "api", "conversion"],
|
||||||
)
|
)
|
||||||
Reference in New Issue
Block a user