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
|
||||
# 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
|
||||
|
||||
# Install the package
|
||||
|
||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
Created by Tadata Inc. (https://github.com/tadata-org)
|
||||
"""
|
||||
|
||||
__version__ = "0.1.0"
|
||||
@@ -5,12 +5,12 @@ build-backend = "hatchling.build"
|
||||
[project]
|
||||
name = "fastapi-mcp"
|
||||
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"
|
||||
requires-python = ">=3.10"
|
||||
license = {file = "LICENSE"}
|
||||
authors = [
|
||||
{name = "FastAPI MCP Team", email = "contact@example.com"},
|
||||
{name = "Tadata Inc.", email = "itay@tadata.com"},
|
||||
]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
@@ -20,7 +20,11 @@ classifiers = [
|
||||
"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"]
|
||||
dependencies = [
|
||||
"fastapi>=0.100.0",
|
||||
"typer>=0.9.0",
|
||||
@@ -28,8 +32,15 @@ dependencies = [
|
||||
"mcp>=1.3.0",
|
||||
"pydantic>=2.0.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]
|
||||
dev = [
|
||||
"pytest>=7.0.0",
|
||||
|
||||
20
setup.py
20
setup.py
@@ -3,9 +3,9 @@ from setuptools import setup
|
||||
setup(
|
||||
name="fastapi-mcp",
|
||||
version="0.1.0",
|
||||
description="Automatic MCP server generator for FastAPI applications",
|
||||
author="FastAPI MCP Team",
|
||||
author_email="contact@example.com",
|
||||
description="Automatic MCP server generator for FastAPI applications - converts FastAPI endpoints to MCP tools for LLM integration",
|
||||
author="Tadata Inc.",
|
||||
author_email="itay@tadata.com",
|
||||
packages=["fastapi_mcp"],
|
||||
python_requires=">=3.10",
|
||||
install_requires=[
|
||||
@@ -15,6 +15,7 @@ setup(
|
||||
"mcp>=1.3.0",
|
||||
"pydantic>=2.0.0",
|
||||
"uvicorn>=0.20.0",
|
||||
"requests>=2.25.0",
|
||||
"inspect-mate>=0.0.2",
|
||||
],
|
||||
entry_points={
|
||||
@@ -22,4 +23,17 @@ setup(
|
||||
"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