# iLang

> iLang runtime for any AI: load the protocol, validate iLang text, look up verbs, SOUL, Source Book.

- name: ai.ilang/mcp
- version: 2.3.0
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 89/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.ilang%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/ai.ilang%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "ilang": {
      "type": "http",
      "url": "https://mcp.ilang.ai/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-1d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (new)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 9 of 9 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,323 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`, `stability.new_links`: tool history recorded for 0 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 9, about 1,323 tokens to load them all
- tool set hash: f2ba554df923a390d1914f0d51dbc677
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.ilang/mcp.svg)](https://protogrid.dev/servers/ai.ilang/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.ilang.ai/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (9)

- `ilang_book_check`: [CHEK:@BOOK|whr=rubric_A1_A2]=>[Ω] Run the Source Book's two code checks on an engineering book: A1, the text opens and closes with the ::ILANG::v5.0::ENGINEERING_BOOK marker (exactly two such lines), and A2, the canon grammar validator reports zero errors and zero warnings (strict). Returns pass or fail per item with the validator's findings. For an agent that has no shell to run ilang_grammar_validator.py; same validator, same result.
- `ilang_faq`: [GET:@FAQ|whr=q=question]=>[Ω] Return the published ilang.ai FAQ entries closest to a question about the protocol (what it is, MCP/A2A comparison, prompt compression, versions, judgment layer, SOUL, the Source Book). Includes source_url.
- `ilang_full`: Return a section of the full specification that the core runtime leaves out, found by its heading (for example "Declaration Grammar" or "Boundary Cases"), or the whole full text when no heading is given.
- `ilang_lookup`: [GET:@DICT|whr=q=term]=>[Ω] Look up an iLang verb, modifier, entity or declaration by name, alias or meaning. Returns type, name, alias, category, meaning, values and source_url. not_found=true when nothing matches; never invent terms.
- `ilang_runtime`: iLang is a specification between humans and AI: before the AI acts, it defines what that action is authorized to become; after, code checks whether it was done right. Return the official iLang runtime, the working text of the specification (about 18,600 tokens), verified against the canon's sha256. Load it once per conversation, then use iLang internally. media=true adds the image, video and audio extension (about 18,000 tokens more).
- `ilang_runtime_lite`: Return iLang runtime lite: the two syntaxes, the verb table (88 verbs with their 13 Greek aliases), the 29 modifiers, the error codes, the declaration body forms, the registry of 32 declarations and the entity registry (25 entities), taken word for word from the canon's full runtime and checked against its sha256. About 18,000 characters, where ilang_runtime returns about 93,000. Enough to write iLang and check it with ilang_validate; it leaves out the execution and judgment layers, so load ilang_runtime when a task needs them.
- `ilang_soul`: [GET:@SOUL|whr=form]=>[Ω] Return SOUL 2.0, the published iLang document that sets how an AI behaves by default: a judgment layer for its default persona. The text comes back as the file on ilang.ai/soul/ (about 2,000 characters), followed by a JSON line with version, date, license, DOI, file url and the sha256 of the text served. Paste the text where the AI reads its instructions. form=iml returns the IML 0.5 form instead.
- `ilang_source_book`: [GET:@SOURCE_BOOK|whr=form]=>[Ω] Return Source Book 2.9, the engineering book every iLang engineering book is anchored to: pasted into an agent app that has a shell, files and the web, and given a tutorial, the agent confirms the tutorial's numbers against official sources and writes BOOK.md, an English iLang book any agent can carry out. The text comes back as the file on ilang.ai/source-book/ (about 7,600 characters), followed by a JSON line with version, date, license, DOI, file url and the sha256 of the text served. form=iml returns the IML 0.5 form instead.
- `ilang_validate`: Check iLang text with the canon grammar and registry validator. Returns error, warning and info counts and each finding with its line, code and message. An E302 finding (unknown modifier) may also carry did_you_mean, the registered modifier this server suggests for the key; the suggestion is added here and is not part of the canon validator's output.
