vynn-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vynn-mcp backtest a simple moving average crossover"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vynn-mcp
mcp-name: io.github.beee003/vynn-mcp
MCP server for Vynn — self-improving AI workflows & backtesting.
Tools
Workflows
list_workflows— List your workflowsget_workflow— Get workflow details with stepscreate_workflow— Create a new workflowrun_workflow— Execute a workflowget_runs/get_run_summary— View run history
Self-Improving
optimize_prompt— AI-powered prompt optimization for a stepapply_prompt_optimization— Apply an optimized promptget_model_recommendation— Get model swap recommendationsset_schedule/get_schedule/delete_schedule— Cron schedulingcreate_trigger/list_triggers— Inbound webhook triggers
Backtesting
backtest— Run a backtest with natural language or structured strategiesbatch_backtest— Parameter sweep across strategy variationsoptimize_portfolio— Mean-variance portfolio optimization
Utilities
list_templates/clone_template— Workflow templateslist_available_tools— Tools attachable to workflow stepsget_analytics— Workflow performance analytics
Related MCP server: knitbrain
Setup
# Install
pip install vynn-mcp
# Or from source
pip install -e /path/to/vynn-mcpSet your API key:
export VYNN_API_KEY="vynn_free_..."Usage with Claude Code
Add to your Claude Code MCP config (~/.claude.json):
{
"mcpServers": {
"vynn": {
"command": "vynn-mcp",
"env": {
"VYNN_API_KEY": "vynn_free_..."
}
}
}
}Usage with Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"vynn": {
"command": "vynn-mcp",
"env": {
"VYNN_API_KEY": "vynn_free_..."
}
}
}
}Get an API Key
Sign up at the-vynn.com or:
curl -X POST https://the-vynn.com/v1/signup \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'Available Tools
21 toolsapply_prompt_optimizationC
Apply an optimized prompt to a workflow step.
Args: workflow_id: UUID of the workflow step_id: UUID of the step prompt: The new prompt text to apply
Inputs: workflow_id (required), step_id (required), prompt (required). Returns: result
backtestA
Run a backtest on a trading strategy using natural language or structured rules.
Args: strategy: Strategy description (e.g. "Buy when RSI(14) < 30, sell when RSI(14) > 70") or JSON structured format {"entries":[...],"exits":[...]} universe: List of tickers (e.g. ["AAPL", "MSFT"]) or preset ("SP500", "MAGNIFICENT7"). Defaults to MAGNIFICENT7. period_start: Start date YYYY-MM-DD (default: 3 years ago) period_end: End date YYYY-MM-DD (default: today) capital: Starting capital (default: 100000) benchmark: Benchmark ticker (default: SPY) walk_forward: Enable walk-forward validation to detect overfitting position_sizing: "equal", "risk_parity", "vol_target", or "kelly" allow_short: Allow short selling
Inputs: strategy (required), universe, period_start, period_end, +5 more. Returns: result
batch_backtestA
Run a parameter sweep across strategy variations and rank them.
Args: base_strategy: Strategy template with {placeholders} (e.g. "Buy when RSI({period}) < {threshold}") parameter_grid: Dict of param name to list of values (e.g. {"period": [14, 21], "threshold": [25, 30, 35]}) universe: List of tickers or preset period_start: Start date YYYY-MM-DD period_end: End date YYYY-MM-DD capital: Starting capital rank_by: Metric to rank by — "sharpe_ratio", "total_return_pct", or "max_drawdown_pct"
Inputs: base_strategy (required), parameter_grid (required), universe, period_start, +3 more. Returns: result
clone_templateA
Clone a workflow template into your account.
Args: template_id: UUID of the template name: Name for your new workflow
Inputs: template_id (required), name (required). Returns: result
create_triggerA
Create an inbound webhook trigger for a workflow.
Returns a URL and secret that external services can POST to in order to fire the workflow.
Args: workflow_id: UUID of the workflow name: Human-readable name for the trigger
Inputs: workflow_id (required), name. Returns: result
create_workflowA
Create a new Vynn workflow.
Args: name: Workflow name (e.g. "Daily Market Brief") description: What this workflow does steps: Optional list of step dicts, each with 'name' and 'description' (the system prompt). Example: [{"name": "Research", "description": "Find top news for {topic}"}] email_recipients: Optional list of email addresses to send workflow output to after each execution. Example: ["maya@gmail.com", "bob@example.com"] email_subject: Optional custom email subject. Defaults to "Vynn: {workflow_name}".
Inputs: name (required), description (required), steps, email_recipients, +1 more. Returns: result
delete_scheduleB
Remove the schedule from a workflow.
Args: workflow_id: UUID of the workflow
Inputs: workflow_id (required). Returns: result
get_analyticsB
Get performance analytics for a workflow — success rates, latency, cost, model usage.
Args: workflow_id: UUID of the workflow
Inputs: workflow_id (required). Returns: result
get_model_recommendationA
Get AI-powered model recommendation for a workflow step based on performance data.
Args: workflow_id: UUID of the workflow step_id: UUID of the step
Inputs: workflow_id (required), step_id (required). Returns: result
get_runsB
Get recent run history for a workflow.
Args: workflow_id: UUID of the workflow limit: Number of runs to return (default 10)
Inputs: workflow_id (required), limit. Returns: result
get_run_summaryB
Get detailed summary of a specific workflow run.
Args: run_id: UUID of the run
Inputs: run_id (required). Returns: result
get_scheduleA
Get the current schedule for a workflow.
Args: workflow_id: UUID of the workflow
Inputs: workflow_id (required). Returns: result
get_workflowA
Get full details of a workflow including all steps and their configuration.
Args: workflow_id: UUID of the workflow
Inputs: workflow_id (required). Returns: result
list_available_toolsA
List all tools that can be attached to workflow steps (web search, code exec, etc).
Inputs: no named parameters. Returns: result
list_templatesA
List available workflow templates that you can clone.
Inputs: no named parameters. Returns: result
list_triggersB
List all webhook triggers for a workflow.
Args: workflow_id: UUID of the workflow
Inputs: workflow_id (required). Returns: result
list_workflowsA
List all your Vynn workflows with their steps and status.
Inputs: no named parameters. Returns: result
optimize_portfolioA
Optimize portfolio weights using mean-variance optimization.
Args: universe: List of tickers (e.g. ["AAPL", "MSFT", "GOOGL", "TSLA"]) method: "max_sharpe", "min_variance", "risk_budget", or "black_litterman" period_start: Start date YYYY-MM-DD period_end: End date YYYY-MM-DD long_only: Only allow long positions (default: true)
Inputs: universe (required), method, period_start, period_end, +1 more. Returns: result
optimize_promptA
Analyze recent failures and generate optimized prompt variants for a workflow step.
Uses LLM-powered analysis of inference logs to suggest better prompts. Returns up to 5 variants ranked by estimated improvement.
Args: workflow_id: UUID of the workflow step_id: UUID of the step to optimize
Inputs: workflow_id (required), step_id (required). Returns: result
run_workflowB
Execute a workflow with the given input and return results.
Args: workflow_id: UUID of the workflow to run input_text: The input text/prompt to feed into the workflow
Inputs: workflow_id (required), input_text (required). Returns: result
set_scheduleA
Schedule a workflow to run automatically on a cron schedule.
Args: workflow_id: UUID of the workflow cron_expression: Cron expression (e.g. "0 8 * * 1-5" for weekdays at 8am) default_input: The input text to use for each scheduled run timezone: Timezone for the schedule (default: UTC)
Inputs: workflow_id (required), cron_expression (required), default_input (required), timezone. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 21 tools
Most tools target distinct actions or resources (e.g., create_workflow vs list_workflows, backtest vs batch_backtest). Minor overlap between optimize_prompt (generates variants) and apply_prompt_optimization (applies a prompt) but descriptions clarify the difference.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_workflow, set_schedule, list_triggers). No mixed conventions or irregular names.
21 tools is above the typical well-scoped range (3-15). While each tool has a clear purpose, the number feels slightly heavy for a single server, especially covering both workflow management and trading optimization.
Workflow management lacks delete_workflow and update_workflow, leaving gaps in lifecycle coverage. Trading tools cover backtesting and optimization but are limited compared to a full trading platform. The set is functional but not fully comprehensive.
Maintenance
Related MCP Connectors
Cloud-hosted MCP server for durable AI memory
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
MCP server for building and testing AI agents with multi-model experimentation and insights.
HiveCapital MCP Server — autonomous investment layer for AI agents
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA sophisticated MCP server providing advanced memory capabilities with RAG, hallucination detection, and enterprise-grade AI infrastructure for intelligent agent ecosystems.-
- AlicenseAqualityCmaintenanceLocal-first MCP server that gives any AI coding agent per-project memory, workflow intelligence, and always-on, lossless token & context optimization.3765 npm6MIT
- AlicenseCqualityCmaintenanceAn MCP server that gives AI coding assistants persistent memory across sessions with chain-based project tracking, tickets, and structured handoffs.42GPL 3.0
- AlicenseNot gradedqualityDmaintenanceA self-improving coding agent MCP server that enables code execution, semantic memory, and reusable skills via sub-agents, turning your AI client into a meta-operating system.2AGPL 3.0