Model Context Protocol server for the Fluvie video composition library. Provides AI-powered documentation search, code generation, and template suggestions.
π Documentation | π Live Server
| Project | Description |
|---|---|
| π¦ fluvie | Main Flutter package for programmatic video generation |
| π€ fluvie_mcp_server | MCP server for AI-assisted development (this repo) |
| π fluvie_website | Marketing website source code |
# Install dependencies
dart pub get
# Run the server
dart run bin/server.dartServer starts at http://localhost:8080
# Build and run
docker-compose up -d
# With HTTPS (Traefik)
docker-compose --profile with-proxy up -d| Endpoint | Method | Description |
|---|---|---|
/ |
GET | API documentation |
/health |
GET | Health check |
/mcp |
POST | MCP JSON-RPC endpoint |
/mcp/sse |
GET | Server-Sent Events stream |
/resources/{path} |
GET | Resource access |
Search Fluvie documentation with TF-IDF ranking.
{
"query": "animate text opacity",
"category": "widgets",
"limit": 5
}Get detailed information about a template.
{
"category": "intro",
"name": "TheNeonGate"
}Get template recommendations based on use case.
{
"useCase": "year-end summary",
"contentType": "stats",
"mood": "dramatic"
}Get widget documentation and examples.
{
"widgetName": "AnimatedProp"
}Generate Fluvie code from natural language.
{
"description": "Create an intro with a neon portal effect",
"type": "scene",
"fps": 30,
"aspectRatio": "16:9"
}| URI | Description |
|---|---|
fluvie://docs/ai-reference |
Complete AI reference documentation |
fluvie://templates |
Template catalog JSON |
Add to your Claude Desktop configuration:
{
"mcpServers": {
"fluvie": {
"url": "https://mcp.fluvie.dev/mcp",
"transport": "http"
}
}
}{
"models": [...],
"mcpServers": {
"fluvie": {
"url": "https://mcp.fluvie.dev/mcp"
}
}
}{
"mcpServers": {
"fluvie": {
"url": "http://localhost:8080/mcp",
"transport": "http"
}
}
}Copy .env.example to .env and configure:
# Server port
PORT=8080
# Documentation path
DOCS_PATH=../doc
# Logging level
LOG_LEVEL=info# Build production image
docker build -t fluvie-mcp:latest .
# Run with documentation volume
docker run -d \
-p 8080:8080 \
-v /path/to/docs:/app/data/docs:ro \
--name fluvie-mcp \
fluvie-mcp:latest# Set your email for Let's Encrypt
export ACME_EMAIL=you@example.com
# Start with proxy profile
docker-compose --profile with-proxy up -dmcp-server/
βββ bin/server.dart # Main entry point
βββ lib/
β βββ mcp_server.dart # Library exports
β βββ src/
β βββ config/ # Server configuration
β βββ mcp/ # MCP protocol handling
β βββ tools/ # MCP tool implementations
β βββ indexing/ # Documentation indexer
β βββ middleware/ # HTTP middleware
βββ data/docs/ # Documentation files
βββ Dockerfile
βββ docker-compose.yml
- Create tool file in
lib/src/tools/ - Implement the tool function
- Register in
bin/server.dart
// lib/src/tools/my_tool.dart
ToolDefinition createMyTool() {
return ToolDefinition(
name: 'myTool',
description: 'My custom tool',
inputSchema: {...},
handler: (args) async {
// Implementation
return {'result': 'data'};
},
);
}MIT License - See LICENSE file for details.