mcp-forge
# ā” mcp-forge (`mforge`)
> **Instant Model Context Protocol (MCP) server generator. Connect SQLite databases and folders to Claude Desktop and Cursor in seconds.**
[](LICENSE)
[](pyproject.toml)
[](#)
[](https://buymeacoffee.com/carlosdevkadu)
Model Context Protocol (MCP) by Anthropic is the new open standard for connecting AI assistants to data sources and tools.
**`mcp-forge`** allows developers to turn any SQLite database or local directory into a production-ready, zero-dependency MCP server with one CLI command.
---
## š Support & Sponsor
If **mcp-forge** helped you connect data to Claude or Cursor, consider buying me a coffee:
[](https://buymeacoffee.com/carlosdevkadu)
š [buymeacoffee.com/carlosdevkadu](https://buymeacoffee.com/carlosdevkadu)
---
## ā” Highlights
* šļø **Instant SQLite Server**: Exposes `list_tables`, `describe_table`, and `execute_query` (with built-in read-only safety).
* š **Instant Filesystem Server**: Exposes `list_directory`, `read_file`, and `search_text` across any target directory.
* āļø **Auto Claude Config**: Generates ready-to-paste JSON blocks for your `claude_desktop_config.json`.
* š¦ **Zero External Dependencies**: Pure Python JSON-RPC 2.0 stdio implementation.
---
## š Quick Start
### Installation
```bash
pip install .
```
### 1. Connect a SQLite Database to Claude Desktop
Generate the configuration snippet:
```bash
mforge config sqlite ./my_database.db
```
Output:
```json
{
"mcpServers": {
"mcp-my_database": {
"command": "python",
"args": ["-m", "mcp_forge.cli", "sqlite", "C:/path/to/my_database.db"]
}
}
}
```
Paste this into your `claude_desktop_config.json` and restart Claude!
---
### 2. Connect a Project Folder to Claude Desktop
```bash
mforge config folder ./my-project-docs
```
---
## š License
Distributed under the [MIT License](LICENSE).
TDQS
Scored across 3 tools
Each tool targets a clearly distinct layer: enumerating tables, inspecting one table's schema, and running row-returning queries. An agent can trivially pick the right one from names alone. No overlap between describe_table (metadata) and execute_query (data).
All three follow the verb_noun snake_case pattern (list_tables, describe_table, execute_query), which is highly predictable. The only minor inconsistency is singular vs. plural nouns (tables vs. table), though that actually reflects list-vs-single semantics.
Three tools is on the thin edge for a database server; a listing, a schema descriptor, and one query executor cover the basics but leave little room for inspection workflows. It's borderline rather than wrong-sized, since the surface is deliberately minimal.
Read-only exploration is covered, but execute_query is explicitly limited to SELECT, so there is no way to create tables, insert, update, or delete ā an obvious gap for a database tool. Agents hitting a need to mutate data or run DDL will dead-end, though exploration tasks are fully served.