AILANG language reference, stdlib, examples and benchmarks for agents that write AILANG.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
List all AILANG versions the server can answer for.
This tool takes no arguments.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http ailang-docs https://mcp.ailang.sunholo.com/mcp/
List all AILANG versions the server can answer for.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}One run's full result (code, compile_ok, runtime_ok, stdout_ok, cost, tokens).
| Argument | Type | Description |
|---|---|---|
| runId* | string |
{
"type": "object",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string"
}
}
}Pairwise model comparison. Output: {a_only_passes, b_only_passes, both, neither}
| Argument | Type | Description |
|---|---|---|
| modelA* | string | |
| modelB* | string | |
| version* | string |
{
"type": "object",
"required": [
"modelA",
"modelB",
"version"
],
"properties": {
"modelA": {
"type": "string"
},
"modelB": {
"type": "string"
},
"version": {
"type": "string"
}
}
}Where does a given model pass/fail? Optional version filter. Output: {passes: [...], fails_by_category: {...}, total_cost}
| Argument | Type | Description |
|---|---|---|
| model* | string | |
| version* | string |
{
"type": "object",
"required": [
"model",
"version"
],
"properties": {
"model": {
"type": "string"
},
"version": {
"type": "string"
}
}
}List benchmark suites and runs, optionally filtered to a since_version cutoff.
| Argument | Type | Description |
|---|---|---|
| sinceVersion* | string |
{
"type": "object",
"required": [
"sinceVersion"
],
"properties": {
"sinceVersion": {
"type": "string"
}
}
}What changed in a given release (added/changed/fixed/breaking).
| Argument | Type | Description |
|---|---|---|
| version* | string |
{
"type": "object",
"required": [
"version"
],
"properties": {
"version": {
"type": "string"
}
}
}Full design doc by slug (e.g. "m-agent-mcp-website").
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
}
}
}List planned/implemented/rejected design docs, optionally filtered by version. state = "planned" | "implemented" | "rejected" | ""; empty = all.
| Argument | Type | Description |
|---|---|---|
| state* | string | |
| version* | string |
{
"type": "object",
"required": [
"state",
"version"
],
"properties": {
"state": {
"type": "string"
},
"version": {
"type": "string"
}
}
}Sidebar tree as JSON. Replaces scraping the Docusaurus sidebar. Version-scoped: snapshot of that release's docs site nav.
| Argument | Type | Description |
|---|---|---|
| forVersion* | string |
{
"type": "object",
"required": [
"forVersion"
],
"properties": {
"forVersion": {
"type": "string"
}
}
}Full-text search across doc Markdown for the given version. Filters server-side on lowercased body + title; returns the top 10 matches, docs pages before archived teaching prompts (prompts/v*.md match almost any query), each as path, title, its first 10 headings and an excerpt around the match: the full page is a docs_nav / example_get away. Whole bodies made one search ~30 KB, too much for a tool result in a listed connector.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"query",
"forVersion"
],
"properties": {
"query": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}All declared effects with capability mapping and the version they appeared in.
| Argument | Type | Description |
|---|---|---|
| forVersion* | string |
{
"type": "object",
"required": [
"forVersion"
],
"properties": {
"forVersion": {
"type": "string"
}
}
}Best-fit examples for a free-form concept query ("how do I use effects?"). Filters server-side on why + title; returns up to 5 matches.
| Argument | Type | Description |
|---|---|---|
| concept* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"concept",
"forVersion"
],
"properties": {
"concept": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}Full source + metadata for one example by path.
| Argument | Type | Description |
|---|---|---|
| path* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"path",
"forVersion"
],
"properties": {
"path": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}Filter examples that pass under for_version, optionally by features/status. features = comma-separated tags ("effects,records"); empty = no filter. status = "passing" | "failing" | ""; empty = passing only.
| Argument | Type | Description |
|---|---|---|
| status* | string | |
| features* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"features",
"status",
"forVersion"
],
"properties": {
"status": {
"type": "string"
},
"features": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}Harness-aware install instructions for AILANG. harness: "claude-code" | "gemini-cli" | "codex-cli" | "manual" | "build-from-source" | "" platform: only meaningful for "manual" (e.g. "darwin-arm64", "linux-amd64"); ignored otherwise Empty harness returns ALL harnesses + the remote_mcp config block.
| Argument | Type | Description |
|---|---|---|
| harness* | string | |
| platform* | string |
{
"type": "object",
"required": [
"harness",
"platform"
],
"properties": {
"harness": {
"type": "string"
},
"platform": {
"type": "string"
}
}
}Known limitations (Y-combinator, etc.) optionally filtered by category.
| Argument | Type | Description |
|---|---|---|
| category* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"category",
"forVersion"
],
"properties": {
"category": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}Stepwise onboarding flow for using AILANG. role: "agent" (AI coding agent flow, default) | "developer" (human dev flow) | "" (returns both) For v1 returns the full guide; client picks the relevant role. v2 may filter on AILANG side once we have proper record-projection helpers.
| Argument | Type | Description |
|---|---|---|
| role* | string |
{
"type": "object",
"required": [
"role"
],
"properties": {
"role": {
"type": "string"
}
}
}Fetch the canonical teaching prompt for a version. kind = "agent" | "devtools" | "compact" (full prompt = empty).
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"forVersion",
"kind"
],
"properties": {
"kind": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}What's shipping next, what's been rejected and why.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Full module: exports + signatures + docstrings.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"name",
"forVersion"
],
"properties": {
"name": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}List stdlib modules available in this AILANG version with one-line summaries.
| Argument | Type | Description |
|---|---|---|
| forVersion* | string |
{
"type": "object",
"required": [
"forVersion"
],
"properties": {
"forVersion": {
"type": "string"
}
}
}Find stdlib functions by name, signature, or keyword. Filters the pre-built search index server-side; returns top 20 matches.
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| forVersion* | string |
{
"type": "object",
"required": [
"query",
"forVersion"
],
"properties": {
"query": {
"type": "string"
},
"forVersion": {
"type": "string"
}
}
}Anonymous bug report / feature request / docs gap, queued for human review. Default routing: `public-feedback` inbox (general AILANG). Pass `package="vendor/name"` (e.g. "sunholo/auth") to route to that package's `pkg:vendor/name` inbox where its autonomous agent watches. Categories: bug, feature, docs, limitation. Body limit 10KB, snippet limit 4KB. Optional contact field for follow-up; opaque to the server. Set `auto_dispatch=true` to authorize the package agent to act on your submission immediately (default false — files for human triage; pkg-feedback agent template lands in a separate sprint).
| Argument | Type | Description |
|---|---|---|
| body* | string | Full description (≤10 KB) |
| title* | string | Short title for the report |
| contact | string | Optional follow-up address (free-form, opaque to the server) |
| package | string | Optional vendor/name (e.g. "sunholo/auth") to route to that package's pkg:vendor/name inbox. Empty = general AILANG feedback. |
| snippet | string | Optional code/error snippet (≤4 KB) |
| category* | string | bug | feature | docs | limitation |
| auto_dispatch | boolean | Authorize the receiving package's autonomous agent to act on this submission. Default false (files for human triage). Tagged on the Pub/Sub notification as category=auto:<original> for coordinator filtering. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.
| ailang_version* | string | The reporter's CLI version (free-form, used for triage) |
{
"type": "object",
"required": [
"title",
"body",
"category",
"ailang_version"
],
"properties": {
"body": {
"type": "string",
"description": "Full description (≤10 KB)"
},
"title": {
"type": "string",
"description": "Short title for the report"
},
"contact": {
"type": "string",
"description": "Optional follow-up address (free-form, opaque to the server)"
},
"package": {
"type": "string",
"description": "Optional vendor/name (e.g. \"sunholo/auth\") to route to that package's pkg:vendor/name inbox. Empty = general AILANG feedback."
},
"snippet": {
"type": "string",
"description": "Optional code/error snippet (≤4 KB)"
},
"category": {
"type": "string",
"description": "bug | feature | docs | limitation"
},
"auto_dispatch": {
"type": "boolean",
"description": "Authorize the receiving package's autonomous agent to act on this submission. Default false (files for human triage). Tagged on the Pub/Sub notification as category=auto:<original> for coordinator filtering."
},
"ailang_version": {
"type": "string",
"description": "The reporter's CLI version (free-form, used for triage)"
}
}
}