@edge-veda/mcp-server
v0.2.0
Published
MCP server for Claude Code to automate Edge Veda Flutter project setup
Maintainers
Readme
Edge Veda MCP Server for Claude Code
An MCP (Model Context Protocol) server that lets Claude Code automate Edge Veda Flutter project setup end-to-end. Instead of following a 20-step quickstart manually, just tell Claude Code what you want to build and the MCP tools handle environment checks, project scaffolding, model selection, and device deployment.
What This Does
Reduces the 3-hour beginner journey to ~15 minutes by providing 6 tools that Claude Code calls automatically:
- Check environment -- verify Flutter, Xcode, CocoaPods, iOS device
- List models -- device-aware recommendations with memory fit estimates
- Create project -- scaffold Flutter project with Edge Veda configured
- Download model -- fetch the right GGUF file for the use case
- Add capability -- inject code scaffolding for chat, vision, STT, TTS, image, RAG
- Run -- build and deploy to connected iOS device
Prerequisites
- Node.js >= 18
- Flutter SDK
- Xcode (for iOS development)
- CocoaPods
Installation
One-liner (npx)
No install needed -- npx fetches and runs the latest version:
npx @edge-veda/mcp-serverAdd to Claude Code
claude mcp add edge-veda -- npx @edge-veda/mcp-serverAdd to Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"edge-veda": {
"command": "npx",
"args": ["@edge-veda/mcp-server"]
}
}
}From Source (contributors)
git clone https://github.com/ramanujammv1988/edge-veda.git
cd edge-veda/tools/mcp-server
npm install
npm run buildAvailable Tools
| Tool | Description | Key Parameters |
|------|-------------|---------------|
| edge_veda_check_environment | Verify dev prerequisites are installed | (none) |
| edge_veda_list_models | List models with device-aware recommendations | use_case?, show_all? |
| edge_veda_create_project | Scaffold a Flutter project with Edge Veda | project_name, path?, model_id? |
| edge_veda_download_model | Download a model GGUF file | model_id, project_path |
| edge_veda_add_capability | Add capability code scaffolding | capability, project_path |
| edge_veda_run | Build and deploy to iOS device | project_path, mode?, device_id? |
Tool Details
edge_veda_check_environment
No parameters. Checks for Flutter SDK, Xcode, CocoaPods, and connected iOS devices. Returns a pass/fail report.
edge_veda_list_models
use_case(optional): Filter bychat,vision,stt,tts,image,embedding,tool-callingshow_all(optional): Include projector files and large desktop models
Returns a table of models with size, estimated memory usage, device fit status, and the recommended pick.
edge_veda_create_project
project_name(required): Flutter project name (lowercase_with_underscores)path(optional): Parent directory (defaults to cwd)model_id(optional): Model ID for the boilerplate (defaults tollama-3.2-1b-instruct-q4). Valid IDs:llama-3.2-1b-instruct-q4,phi-3.5-mini-instruct-q4,gemma-2-2b-instruct-q4,qwen3-0.6b-q4,tinyllama-1.1b-chat-q4.
Runs flutter create, adds edge_veda: ^2.4.2 to pubspec.yaml, runs flutter pub get, sets iOS 13.0 minimum, configures use_modular_headers! for FFI compatibility, runs pod install, and writes a working boilerplate main.dart with model download + streaming inference.
edge_veda_download_model
model_id(required): Model ID fromedge_veda_list_models(e.g.,llama-3.2-1b-instruct-q4)project_path(required): Path to the Flutter project
Downloads the model file to {project}/models/ and adds models/ to .gitignore. This is optional -- the app auto-downloads models at runtime via ModelManager.downloadModel().
edge_veda_add_capability
capability(required): One ofchat,vision,stt,tts,image,ragproject_path(required): Path to the Flutter project
Creates a new screen file (lib/{capability}_screen.dart) with complete working code, runs flutter pub get, and provides main.dart wiring instructions. Lists required models that need downloading. Adds extra dependencies to pubspec.yaml if needed.
edge_veda_run
project_path(required): Path to the Flutter projectmode(optional):debug,profile, orrelease(defaults torelease)device_id(optional): Device UDID (auto-detects connected device)
Builds and deploys the app. Defaults to release mode for optimal inference speed (~42 tok/s vs ~5 tok/s in debug).
Example Workflow
Here is a natural language conversation showing how Claude Code uses the tools:
You: "I want to build an iOS app with on-device chat"
Claude Code:
- Calls
edge_veda_check_environment-- verifies Flutter, Xcode, CocoaPods are installed - Calls
edge_veda_create_projectwithproject_name: "my_chat_app"-- scaffolds the project - Calls
edge_veda_list_modelswithuse_case: "chat"-- shows Llama 3.2 1B as recommended - Calls
edge_veda_runwithproject_path: "./my_chat_app"-- deploys to your iPhone
The boilerplate main.dart auto-downloads the model on first launch, so the app is ready to chat.
You: "Add vision capability too"
Claude Code:
- Calls
edge_veda_add_capabilitywithcapability: "vision"-- createslib/vision_screen.dart, runsflutter pub getautomatically, and provides wiring instructions - Calls
edge_veda_download_modelwithmodel_id: "smolvlm2-500m-video-instruct-q8"-- pre-downloads the model to{project}/models/ - Calls
edge_veda_run-- rebuilds and deploys the updated app
Supported Models
The MCP server includes the complete Edge Veda model registry:
Text/Chat: Llama 3.1 8B, Mistral Nemo 12B, Llama 3.2 1B, Phi 3.5 Mini, Gemma 2 2B, TinyLlama 1.1B, Qwen3 0.6B
Vision: SmolVLM2 500M, LLaVA 1.6 Mistral 7B, Qwen2-VL 7B (each with mmproj)
Speech-to-Text: Whisper Tiny/Base (English), Whisper Small/Medium/Large v3 (Multilingual)
Embedding: All MiniLM L6 v2, Nomic Embed Text, mxbai-embed-large
Image Generation: SD v2.1 Turbo, SDXL Turbo, FLUX.1 Schnell
Troubleshooting
Server does not start
Ensure Node.js >= 18 is installed:
node --versionTest the server directly:
npx @edge-veda/mcp-serverIt should hang waiting for JSON-RPC input on stdin. Press Ctrl+C to exit.
Tools not appearing in Claude Code
- Verify the MCP server is registered:
claude mcp list - Re-add if needed:
claude mcp add edge-veda -- npx @edge-veda/mcp-server - Restart Claude Code after changing MCP configuration
flutter create fails
Ensure Flutter is on your PATH:
flutter doctorpod install fails
Clear CocoaPods cache and retry:
cd ios && pod deintegrate && pod installArchitecture
tools/mcp-server/
src/
index.ts # MCP server entry point (stdio transport)
utils.ts # exec helpers
model-registry.ts # TypeScript mirror of Dart ModelRegistry
device-profile.ts # Device tier detection + memory estimation
tools/
check-environment.ts
create-project.ts
list-models.ts
download-model.ts
add-capability.ts
run.ts
build/ # Compiled JS output
test/
smoke.test.ts # MCP protocol smoke testThe server uses the official MCP SDK (@modelcontextprotocol/sdk) with stdio transport. All communication happens over stdin/stdout using JSON-RPC 2.0. Diagnostic output goes to stderr only.
