ForgeSyte is a modular AI‑vision MCP server engineered for developers who demand precision, extensibility, and absolute clarity in their tooling. Built in Python using the uv toolchain and designed for seamless integration with Gemini‑CLI, ForgeSyte acts as a vision analysis core capable of loading, executing, and orchestrating pluggable vision modules.
At its heart, ForgeSyte is a forge: a place where perception is shaped, refined, and extended. Every module—OCR, object detection, mapping, classification, or custom logic—slots into a unified contract, enabling reproducible, auditable, and future‑proof workflows.
Whether you're building automated analysis pipelines, real‑time camera tools, or domain‑specific vision systems, ForgeSyte provides the foundation: a stable schema, a clean API surface, and a plugin architecture engineered for growth.
-
Modular Vision Engine
Drop‑in Python plugins that implement a simple, explicit contract. -
MCP‑Native
Exposes tools and capabilities directly to Gemini‑CLI via a clean MCP manifest. -
Python‑First Architecture (uv‑powered)
FastAPI core, plugin loader, and analysis pipeline built for clarity and extensibility. -
Optional React UI
A lightweight React/TypeScript interface for live camera streaming, job monitoring, and plugin management. -
Deterministic & Auditable
Every module declares its inputs, outputs, and metadata.
forgesyte/
├─ server/
│ ├─ app/
│ │ ├─ main.py
│ │ ├─ api.py
│ │ ├─ mcp_adapter.py
│ │ ├─ plugin_loader.py
│ │ ├─ plugins/
│ │ │ └─ __init__.py
│ │ ├─ models.py
│ │ └─ tasks.py
│ ├─ pyproject.toml
│ └─ uv.lock
├─ example_plugins/
│ ├─ ocr_plugin/
│ └─ block_mapper/
├─ web-ui/
│ ├─ src/
│ ├─ public/
│ └─ package.json
├─ gemini_extension.json
├─ PLUGIN_DEVELOPMENT.md
├─ CONTRIBUTING.md
└─ README.md
- Python 3.10+
- uv (https://github.com/astral-sh/uv)
- Node.js 18+ (for React UI)
- Optional: Docker
cd server
uv sync
uv run fastapi dev app/main.pyForgeSyte will start at:
- API:
http://localhost:8000 - Docs:
http://localhost:8000/docs - MCP manifest:
http://localhost:8000/v1/mcp-manifest
cd web-ui
npm install
npm run devRuns at:
http://localhost:5173
ForgeSyte integrates with Gemini‑CLI as an MCP server. There are two steps:
# Install directly from GitHub
gemini extensions install https://github.com/rogermt/forgesyte
# Or install from a local checkout
gemini extensions install /path/to/forgesyteEdit your Gemini‑CLI user config (e.g., ~/.gemini-cli/settings.json):
{
"$schema": "https://raw.githubusercontent.com/google-gemini/gemini-cli/main/schemas/settings.schema.json",
"mcpServers": {
"forgesyte": {
"httpUrl": "http://localhost:8000",
"timeout": 30000,
"description": "ForgeSyte AI-vision MCP server"
}
}
}Restart Gemini‑CLI, then verify:
gemini-cli tools listYou should see tools such as:
vision.ocrvision.block_mapper
See ARCHITECTURE.md for the full diagram.
-
Ensure the server is running:
curl http://localhost:8000/v1/mcp-manifest
-
Check your Gemini config for typos in:
mcpServersforgesytehttpUrl
-
Restart Gemini‑CLI after editing settings.
- A plugin likely has invalid metadata.
- Check ForgeSyte logs for
ValidationError.
- Plugin name in
?plugin=may not match the plugin folder name. - Ensure plugin is loaded by
plugin_loader.py.
See CONTRIBUTING.md.
See PLUGIN_DEVELOPMENT.md.
The following features are explicitly out of scope for ForgeSyte and must not be implemented:
- No export
- No record button
- No model selector
- No WebSocket selector
Any PR adding these features will be rejected.
See docs/design/video-tool-runner.md for the canonical Video Tool Runner UI specification.
See BRANDING.md.
TBD.
---
# ✅ 2. **Gemini‑CLI Quickstart Mini‑Guide**
```md
# ForgeSyte + Gemini‑CLI Quickstart
This guide shows the fastest way to use ForgeSyte as an MCP server inside Gemini‑CLI.
---
## 1. Start ForgeSyte
```bash
cd forgesyte/server
uv sync
uv run fastapi dev app/main.py
gemini extensions install https://github.com/rogermt/forgesyteEdit your Gemini settings file:
{
"mcpServers": {
"forgesyte": {
"httpUrl": "http://localhost:8000",
"type": "http"
}
}
}gemini-cli tools listYou should see:
vision.ocrvision.block_mapper
Examples:
- “Use ForgeSyte OCR on this screenshot.”
- “Analyze this image with the block mapper.”
---
# ✅ 3. **Troubleshooting Block (MCP Discovery Issues)**
```md
# MCP Discovery Troubleshooting
### ForgeSyte does not appear in `gemini-cli tools list`
- Ensure ForgeSyte is running:
```bash
curl http://localhost:8000/v1/mcp-manifest
-
Check Gemini config for typos:
mcpServersforgesytehttpUrl
-
Restart Gemini‑CLI after editing settings.
-
A plugin likely has invalid metadata.
-
Check ForgeSyte logs for:
ValidationError- Missing fields in
metadata() - Incorrect types
-
Ensure plugin name matches:
/v1/analyze?plugin=<name> -
Confirm plugin folder name matches plugin
namefield.
-
Check port:
curl http://localhost:8000/
-
Ensure no firewall is blocking localhost.
---
# ✅ 4. **Correct `gemini_extension.json`**
This is the correct filename and structure for Gemini extensions.
```json
{
"name": "ForgeSyte",
"version": "0.1.0",
"description": "Modular AI-vision MCP server exposing pluggable vision tools.",
"homepage": "https://github.com/rogermt/forgesyte",
"repository": {
"type": "git",
"url": "https://github.com/rogermt/forgesyte.git"
},
"license": "MIT",
"categories": [
"vision",
"analysis",
"developer-tools"
],
"author": {
"name": "ForgeSyte",
"url": "https://github.com/rogermt"
},
"mcpServers": {
"forgesyte": {
"httpUrl": "http://localhost:8000",
"type": "http"
}
}
}