DevToolkit MCP
A lightweight, model-independent MCP server that gives AI assistants practical software development tools.
DevToolkit MCP is an open-source Model Context Protocol (MCP) server that exposes essential software development utilities as tools that AI assistants can call.
It helps AI assistants inspect Python projects, understand code, analyze errors, check dependencies, and execute tests through a standardized MCP interface.
The server is designed to be simple, extensible, and independent of any specific AI model or provider.
Features
- Repository Analysis: Inspect project structure, file types, and configuration files.
- Code Explanation: Analyze Python code using Abstract Syntax Trees (AST).
- Error Analysis: Extract useful information from Python exceptions and tracebacks.
- Dependency Checking: Identify dependency versions and check for known vulnerabilities.
- Test Execution: Detect and execute pytest or unittest test suites.
- MCP Integration: Connect compatible AI assistants through the Model Context Protocol.
- Model Independent: Works with MCP-compatible clients without requiring a specific LLM provider.
Available Tools
DevToolkit MCP currently provides five tools.
1. analyze_repository
Analyzes a local project directory and returns information about its structure.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
repository_path |
string | Required | Path to the project directory |
max_files |
integer | 5000 | Maximum number of files to inspect |
Returns
- Project directory information
- File and directory statistics
- File extension distribution
- Detected languages and configuration files
- Project structure information
2. explain_code
Analyzes Python source code or a Python file using AST parsing.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
code |
string or null | None | Python source code |
file_path |
string or null | None | Path to a Python file |
Provide either code or file_path.
Returns
- Functions and classes
- Methods and imports
- Code structure and statistics
- Syntax errors, when present
3. analyze_error
Analyzes Python exceptions and traceback text.
Parameters
| Parameter | Type | Description |
|---|---|---|
error_text |
string | Python exception or traceback |
Returns
- Exception type
- Error message
- File and line information, when available
- Traceback details
- Structured error information
4. check_dependencies
Checks project dependencies and retrieves package information from external vulnerability and package registries.
Parameters
| Parameter | Type | Description |
|---|---|---|
project_path |
string | Path to the Python project |
Supported dependency files
requirements.txtpyproject.toml
Returns
- Detected dependencies
- Declared dependency versions
- Latest available versions from PyPI
- Known vulnerability information from OSV, when available
Network access is required for live PyPI and OSV checks. Network failures are handled without treating unavailable data as a clean security result.
5. run_tests
Automatically detects and executes Python test suites.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
project_path |
string | Required | Path to the project directory |
timeout |
integer | 120 | Maximum execution time in seconds (1–600) |
Supported frameworks
- pytest
- unittest
Returns
- Detected testing framework
- Test execution status
- Process exit code
- Test output
- Timeout or execution error information, when applicable
The tool prefers pytest when both frameworks are detected and uses the project's virtual environment when available.
Installation
Using uv (recommended)
uv tool install devtoolkit-mcp
Alternatively, run it without permanently installing:
uvx devtoolkit-mcp
Using pip
pip install devtoolkit-mcp
MCP Client Configuration
Add DevToolkit MCP to an MCP-compatible client.
Claude Desktop
Open your Claude Desktop configuration file and add:
{
"mcpServers": {
"devtoolkit-mcp": {
"command": "uvx",
"args": ["devtoolkit-mcp"]
}
}
}
Restart Claude Desktop after saving the configuration.
Other MCP-compatible clients
Use the following command to launch the server:
uvx devtoolkit-mcp
Configure your client to launch this command using its supported MCP transport configuration.
Example Use Cases
Once connected to an MCP-compatible AI assistant, you can ask it to:
- "Analyze the structure of my Python project."
- "Explain the classes and functions in this Python file."
- "Analyze this traceback and identify the exception."
- "Check my project's dependencies for outdated or vulnerable packages."
- "Run the tests in my project and show me the results."
The AI assistant decides when to invoke the available tools based on the user's request and the MCP client.
Architecture
AI Assistant
|
|
MCP-Compatible Client
|
|
DevToolkit MCP
|
+--------+--------+
| | |
v v v
Repository Code Error
Analysis Analysis Analysis
|
+----------------+
| |
v v
Dependency Test
Checking Execution
DevToolkit MCP uses the Model Context Protocol to expose development utilities through standardized tool interfaces.
Technology Stack
| Technology | Purpose |
|---|---|
| Python 3.11+ | Core implementation |
| FastMCP | MCP server and tool registration |
| AST | Python source code analysis |
| httpx | HTTP requests to external APIs |
| packaging | Python dependency version parsing |
| pytest | Automated testing |
| Ruff | Linting and formatting |
| uv | Python project and package management |
Project Structure
devtoolkit-mcp/
│
├── src/
│ └── devtoolkit_mcp/
│ ├── tools/
│ │ ├── repository.py
│ │ ├── explain_code.py
│ │ ├── analyze_error.py
│ │ ├── check_dependencies.py
│ │ └── run_tests.py
│ │
│ └── server.py
│
├── tests/
│
├── .github/
│ └── workflows/
│ └── publish.yml
│
├── LICENSE
├── README.md
├── pyproject.toml
└── uv.lock
Development Setup
1. Clone the repository
git clone https://github.com/Prashil001/devtoolkit-mcp.git
cd devtoolkit-mcp
2. Install dependencies
uv sync --dev
3. Run tests
uv run pytest -v
4. Run linting
uv run ruff check .
5. Check formatting
uv run ruff format --check .
6. Run the MCP server
uv run devtoolkit-mcp
Security Considerations
- Repository inspection is restricted to validated local project directories.
- Test execution uses subprocesses without shell command interpretation.
- Test execution has a configurable timeout.
- Dependency vulnerability checks use external public APIs.
- Tool execution should only be allowed on project directories the user trusts.
- Do not expose sensitive project files or credentials to AI clients unnecessarily.
Contributing
Contributions, bug reports, and feature suggestions are welcome.
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Add or update tests.
- Run the test suite and Ruff checks.
- Submit a pull request.
Please keep contributions focused on improving the existing five tools unless the project scope is explicitly expanded.
License
This project is licensed under the MIT License.
See the LICENSE file for details.
Author
Prashil001
- GitHub: https://github.com/Prashil001
- Repository: https://github.com/Prashil001/devtoolkit-mcp
If you find DevToolkit MCP useful, consider giving the repository a ⭐ on GitHub.
Built to make AI-assisted software development more capable through MCP.
Metadata
Release files for devtoolkit-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| devtoolkit_mcp-0.1.0.tar.gz | 12.7 kB | With provenance | Details for devtoolkit_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| devtoolkit_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for devtoolkit_mcp-0.1.0-py3-none-any.whl |
Total release size: 28.2 kB
Release files / devtoolkit_mcp-0.1.0.tar.gz
| Download URL | devtoolkit_mcp-0.1.0.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca5ac4371c17482f99bc48b6548405bffd494da74a45433e1158767af05969dd
|
|
BLAKE2b-256 checksum How to use checksums |
508cdcf3479803f3128bb8a7b63aae42bab709abd892866ee1d4e89e60c25173
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.
Transparency logRelease files / devtoolkit_mcp-0.1.0-py3-none-any.whl
| Download URL | devtoolkit_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db2fe24c977695b9098a56ae41d2b2c5d4095b9e31642da1e3d2cd90d0bd4a82
|
|
BLAKE2b-256 checksum How to use checksums |
52bc6d39772182672a18f2a50013e0a2478be5ea7c70915c0ad62de74a70b3f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.
Transparency logSecurity for devtoolkit-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for devtoolkit_mcp-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.