Documentation
MCP Servers
G6Solver exposes its capabilities via the Model Context Protocol, enabling integration with Claude Code and other MCP-compatible clients.
On this page
Quick Setup
Add G6 as an MCP server in Claude Code. G6 is a hosted service: this registers our endpoint with your client and authenticates it with your API key. There is nothing to install.
claude mcp add g6 --transport sse \
--url https://g6solver.com/mcp/sse \
--header "Authorization: Bearer YOUR_API_KEY"
Get your key from Account → API Keys, or follow the guided setup.
Transport Configuration
Hosted SSE Transport Recommended
Your client connects over the network to G6’s hosted endpoint. Components execute on our servers, behind auth, rate limiting and tier gating. This is how G6 is distributed — there is no G6 software to install on your machine.
claude mcp add g6 --transport sse \
--url https://g6solver.com/mcp/sse \
--header "Authorization: Bearer YOUR_API_KEY"
Works with any MCP client that supports SSE transport, not just Claude Code.
Authentication
Every request carries your API key in an Authorization: Bearer header. The key is verified server-side on each call and determines which tools your subscription tier can reach. Generate and revoke keys from Account → API Keys; the raw key is shown once, at creation.
Anyone holding the key can use your account. Revoke it there if it leaks.
Local stdio Transport Not available
The server also supports stdio transport, where the MCP server runs as a subprocess of your client. That path needs a local G6 executable, which is not currently distributed — there is no downloadable binary or package. Use the hosted SSE endpoint above.
Rate Limits
Rate limits are enforced per API key on the hosted endpoint:
| Tier | Requests / Minute | MCP Tools Available |
|---|---|---|
| Free | 10 | 30 tools (Core + Guide + Invariants + Diagnostics) |
| Researcher | 100 | 66 tools (+ Navigator, EvoSkill read-only, Bug reports, job workbench, grounding) |
| Builder | 500 | Full tool access (all 15 categories) — payment and privileged-execution tools are on no tier |
All plans reach the same hosted endpoint; your subscription tier gates which MCP tools that endpoint will serve you. A tool outside your tier returns a 403 saying it requires a higher subscription tier; the message does not name which one. Note: invoke_component is in the free tier, so any user can invoke any installed component directly. Trial accounts get the Researcher tool set for 30 days, then drop to Free. Their rate limit follows the Researcher tier at 100 requests per minute for the trial period, not the Free tier’s 10 — the table above has no Trial row, and reading “drop to Free” alongside it understates what a trial actually gets.
Which Tool Should I Use?
Match your intent to the right tool:
| I want to... | Use this tool | Tier |
|---|---|---|
| Check if G6 is working | system_status | Free |
| Break a problem into steps | decompose_goal | Free |
| Find the right ML algorithm | recommend_algo | Free |
| Discover which component does X | nav_discover | Researcher |
| Get step-by-step instructions | guide_how_to | Free |
| Run a complete research workflow | run_research_pipeline | Builder |
| Build a custom multi-step workflow | compose_and_run | Builder |
| Improve agent performance over time | evolve_skills | Builder |
Available Tool Groups
The MCP server exposes tools from all registered components:
Goal Engine
Goal decomposition, mental models, metacognition, orchestration, persistence, verification, EML, multi-agent execution, neurosymbolic reasoning, tool registry, strategy selection, workflows, prompt patterns
Formal Methods
Optional SAT, SMT, DPLL, and Z3 integrations across 19 sub-packages
Align Specs
Specification management, validation, and enforcement
Adapt Pandas
Data analysis, profiling, pipelines, and dataset management
Adapt Healing
Self-healing, error detection, drift analysis, and recovery
Core
Pipeline execution, component registry, health checks
EvoSkill
Evolutionary skill synthesis, program evolution, Pareto frontier optimization
Tool Reference
Parameter reference for G6's most-used MCP tools, organised by capability group. These groups are not the subscription tiers in the table above — a group can span several plans.
Group 1: Core Tools
10 tools — fundamental operations
decompose_goal
Decompose a natural-language goal into a structured subtask tree.
| Parameter | Type | Default | Description |
|---|---|---|---|
| goal | str | required | Natural language goal to decompose |
| max_depth | int | 3 | Maximum decomposition depth |
Returns: Structured subtask tree as formatted string
Example
decompose_goal(goal="Build a REST API for user management")
Returns:
{
"goal": "Build a REST API for user management",
"subtasks": [
"Design database schema for users table",
"Implement CRUD endpoints (GET/POST/PUT/DELETE)",
"Add JWT authentication middleware",
"Write integration tests for all endpoints"
],
"ok": true
}
run_bayesian
Run Bayesian inference on a dataset.
| Parameter | Type | Default | Description |
|---|---|---|---|
| data | str | required | JSON-encoded data array |
| model_type | str | "gaussian" | Model type: gaussian, binomial, poisson |
Returns: Posterior inference results
Example
run_bayesian(data="[2.1, 3.4, 2.8, 3.1, 2.9]", model_type="gaussian")
Returns:
Model: gaussian
Posterior mean: 2.86, std: 0.21
95% CI: [2.45, 3.27]
Samples: 5
run_automl
Automated machine learning: model selection and scoring.
| Parameter | Type | Default | Description |
|---|---|---|---|
| X | str | required | JSON-encoded feature matrix |
| y | str | required | JSON-encoded target vector |
| task | str | "auto" | "classification", "regression", or "auto" |
Returns: Best model configuration and scores
recommend_algo
Recommend the best algorithms for a given feature matrix and task.
| Parameter | Type | Default | Description |
|---|---|---|---|
| X | str | required | JSON-encoded feature matrix |
| task | str | "auto" | Task type |
Returns: Ranked algorithm recommendations
system_status
Return system health, component count, and uptime.
No parameters. Returns: System health, component count, uptime
list_components
List all discovered components with metadata.
No parameters. Returns: All discovered components with metadata
invoke_component
Invoke an arbitrary component operation by name.
| Parameter | Type | Default | Description |
|---|---|---|---|
| component | str | required | Component name |
| op | str | required | Operation to invoke |
| params_json | str | "{}" | JSON-encoded operation parameters |
Returns: Operation result as string
Example
invoke_component(component="grounding", op="infer",
params_json='{"query": "What is backpropagation?", "domain": "ai_ml"}')
Returns:
{"answer": "Backpropagation is an algorithm for training neural networks...", "confidence": 0.87, "domain": "ai_ml"}
run_pipeline
Execute a multi-step component pipeline.
| Parameter | Type | Default | Description |
|---|---|---|---|
| steps_json | str | required | JSON array of {component, operation, params} |
Returns: Pipeline execution results
Example
run_pipeline(steps_json='[
{"component": "ctx_search", "operation": "infer", "params": {"query": "neural networks"}},
{"component": "ctx_rag", "operation": "infer", "params": {"query": "summarize"}}
]')
Returns:
{
"ok": true,
"results": [
{"step": 1, "component": "ctx_search", "status": "ok"},
{"step": 2, "component": "ctx_rag", "status": "ok"}
]
}
list_programs
List all evolved programs in the EvoSkill library.
| Parameter | Type | Default | Description |
|---|---|---|---|
| skill_name | str | "" | Filter by skill name (empty = all) |
Returns: List of evolved programs with metadata
get_frontier
Get the current Pareto frontier of evolved programs.
| Parameter | Type | Default | Description |
|---|---|---|---|
| skill_name | str | required | Skill to get frontier for |
| objectives | str | "" | Comma-separated objective names |
Returns: Pareto-optimal programs with fitness scores
Group 3: Guide Tools
5 tools — natural-language guidance and workflow planning
guide_ask
Ask a natural-language question about G6 capabilities.
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | str | required | Natural language question |
Returns: Contextual answer about G6 capabilities
Example
guide_ask(query="How do I verify code safety in G6?")
Returns:
{
"ok": true,
"answer": "Use run_safety_pipeline for a full audit (CSF check → available formal checks → grounding). For individual checks, invoke align_csf or formal_methods directly and inspect each proof status/artifact.",
"related_tools": ["run_safety_pipeline", "align_csf", "formal_methods"]
}
guide_how_to
Get step-by-step instructions for a task.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task | str | required | Task to get instructions for |
Returns: Step-by-step instructions
guide_find_tool
Find the best matching tool for a described need.
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | str | required | Description of what you need |
Returns: Best matching tool with usage guidance
guide_plan_workflow
Generate a multi-step workflow plan for a high-level goal.
| Parameter | Type | Default | Description |
|---|---|---|---|
| goal | str | required | High-level goal |
Returns: Multi-step workflow plan
guide_system_overview
Get a complete system architecture summary.
No parameters. Returns: Complete system architecture summary
Group 4: Template Pipelines
5 tools — pre-built multi-step workflows
run_research_pipeline
Search, RAG retrieval, and summary in one call.
| Parameter | Type | Default | Description |
|---|---|---|---|
| query | str | required | Research topic or question |
Returns: Search → RAG retrieval → summary
Example
run_research_pipeline(query="transformer attention mechanisms")
Returns:
{
"ok": true,
"steps": [
{"step": "search", "status": "ok", "results_found": 8},
{"step": "rag_retrieval", "status": "ok", "chunks_retrieved": 5},
{"step": "summary", "status": "ok"}
],
"summary": "Transformer attention uses scaled dot-product attention to compute relevance between query and key vectors..."
}
run_codegen_pipeline
Plan, generate, and verify code from a specification.
| Parameter | Type | Default | Description |
|---|---|---|---|
| spec | str | required | Code specification or requirements |
Returns: Plan → generate → verify
run_data_pipeline
Ingest, profile, and analyse a dataset.
| Parameter | Type | Default | Description |
|---|---|---|---|
| data_json | str | required | JSON-encoded dataset |
Returns: Ingest → profile → analyse
run_safety_pipeline
CSF check, verification, and grounding audit.
| Parameter | Type | Default | Description |
|---|---|---|---|
| target | str | required | Target to audit |
Returns: CSF check → verify → ground
run_knowledge_pipeline
Fetch a URL, parse its content, and index the knowledge.
| Parameter | Type | Default | Description |
|---|---|---|---|
| url | str | required | URL to extract knowledge from |
Returns: Fetch → parse → index
Group 5: Orchestration Tools
4 tools — composition, cross-calling, and introspection
compose_and_run
Execute a pipeline with optional resource budget enforcement.
| Parameter | Type | Default | Description |
|---|---|---|---|
| steps_json | str | required | JSON pipeline steps |
| budget_json | str | "{}" | Resource budget constraints |
Returns: Pipeline execution with budget enforcement
Example
compose_and_run(
steps_json='[{"component":"ctx_search","operation":"infer","params":{"query":"BERT"}},
{"component":"grounding","operation":"infer","params":{"domain":"ai_ml"}}]',
budget_json='{"max_tokens": 50000, "timeout_sec": 30}'
)
Returns:
{
"ok": true,
"results": [{"step": 1, "status": "ok"}, {"step": 2, "status": "ok"}],
"budget_used": {"tokens": 12340, "elapsed_sec": 4.2}
}
cross_call_tool
Invoke an operation on any component by name.
| Parameter | Type | Default | Description |
|---|---|---|---|
| block | str | required | Target component name |
| op | str | required | Operation to invoke |
| params_json | str | "{}" | JSON parameters |
Returns: Cross-component invocation result
dependency_graph
Generate a full component dependency graph.
No parameters. Returns: Full component dependency graph as text diagram
explain_component
Get a detailed explanation of a component with usage examples.
| Parameter | Type | Default | Description |
|---|---|---|---|
| name | str | required | Component name |
Returns: Detailed explanation with examples
Group 6: EvoSkill Tools
7 tools — evolutionary skill synthesis and self-improvement
evolve_skills
Run the self-improving evolution loop on a task or dataset.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_name | str | "" | Task the evolution loop is optimising for |
| dataset | list | null | Examples the candidates are scored against |
| max_iterations | int | 5 | Maximum evolution iterations |
| frontier_size | int | 3 | How many variants are kept on the frontier |
| evolution_mode | str | "skill_only" | What the loop is allowed to mutate |
| selection_strategy | str | "best" | How the next generation is selected |
| workspace_dir | str | "" | Evolution workspace to read and write |
propose_skill
Analyse agent failures and propose a new skill or prompt mutation.
| Parameter | Type | Default | Description |
|---|---|---|---|
| failure_traces | list | null | Traces of the runs that went wrong |
| existing_skills | list | null | Skills already available, so proposals do not duplicate them |
| feedback_history | str | "" | Prior feedback to condition the proposal on |
generate_skill
Generate skill code from a proposal produced by propose_skill.
| Parameter | Type | Default | Description |
|---|---|---|---|
| proposal | str | "" | The skill proposal to turn into code |
evaluate_program
Evaluate a program variant on validation data and return its score.
| Parameter | Type | Default | Description |
|---|---|---|---|
| program_name | str | "" | Variant to evaluate, as named in the workspace |
| validation_data | list | null | Held-out examples to score against |
list_programs
List every program variant in the evolution workspace.
| Parameter | Type | Default | Description |
|---|---|---|---|
| workspace_dir | str | "" | Evolution workspace to read |
get_frontier
Get the current Pareto frontier of top-performing program variants.
| Parameter | Type | Default | Description |
|---|---|---|---|
| workspace_dir | str | "" | Evolution workspace to read |
feedback_descent_run
Run generic feedback-descent optimisation on a task.
| Parameter | Type | Default | Description |
|---|---|---|---|
| task_name | str | "" | Task being optimised |
| dataset | list | null | Examples the run is scored against |
| max_iterations | int | 10 | Maximum descent iterations |
| workspace_dir | str | "" | Workspace to read and write |
Usage Examples
Three end-to-end workflows showing how tools compose together inside Claude Code.
Research Workflow
Discover components, run a research pipeline, then extract structured findings.
# 1. Find relevant components
nav_discover(query="text analysis")
# 2. Run research pipeline
run_research_pipeline(query="transformer attention mechanisms")
# 3. Extract key findings
invoke_component(component="ctx_langextract", op="infer",
params_json='{"text": "...", "fields": ["findings", "methods"]}')
Final result:
{"findings": ["Self-attention computes O(n²) pairwise token interactions", "Multi-head attention enables parallel subspace learning"], "methods": ["scaled dot-product", "multi-head projection"]}
Code Generation with Safety
Generate code from a spec, audit it for safety, then run available formal checks for explicitly specified properties.
# 1. Generate code from spec
run_codegen_pipeline(spec="binary search function with edge case handling")
# 2. Run safety audit
run_safety_pipeline(target="generated binary search implementation")
# 3. Run available formal checks
invoke_component(component="formal_methods", op="infer",
params_json='{"query": "verify binary_search terminates", "backend": "propositional"}')
Final result:
{"verified": true, "property": "termination", "method": "propositional", "confidence": 1.0}
Data Analysis
Plan a workflow, run a data pipeline, then get algorithm recommendations.
# 1. Plan the workflow
guide_plan_workflow(goal="analyze customer churn dataset")
# 2. Run data pipeline
run_data_pipeline(data_json='[{"id":1,"churn":0},...]')
# 3. Get algorithm recommendations
recommend_algo(X='[[1,2],[3,4]]', task="classification")
Final result:
Top recommendation: RandomForest (score=0.92)
Runner-up: GradientBoosting (score=0.89)
Task: classification | Features: 2
Building Custom MCP Tools
Each component can expose MCP tools via the skill/mcp/server.py pattern:
from fastmcp import FastMCP
server = FastMCP("my-component")
@server.tool()
def my_tool(input: str) -> str:
"""Tool description for Claude."""
return process(input)
Security Considerations
Account and Tool Access
- API key authentication — every request is authenticated server-side against your key. Anyone holding the key can use your account; revoke it from Account → API Keys if it leaks.
-
Tier-based tool access — tools are gated by subscription tier, with Builder receiving the widest access.
invoke_componentis free tier — any user can invoke any installed component directly. - Rate limits — enforced per API key, per tier, on every request to the hosted endpoint.
-
invoke_componentandcross_call_toolcan invoke arbitrary component operations within your tier — review tool calls in Claude Code before approving.
Transport Security (Hosted Endpoint)
-
Bearer token authentication — SSE transport requires a valid
Authorization: Bearer YOUR_API_KEYheader per request. - TLS encryption — all traffic to the hosted endpoint is encrypted via HTTPS.
- Rate limiting — per-key rate limits enforced via Redis sliding-window (see Rate Limits).