Back to Browse

Ajisai MCP Server

Developer ToolsLow Risk9.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Exact rational and algebraic computation, with machine-readable Word contracts, in Ajisai.

About

Exact rational and algebraic computation, with machine-readable Word contracts, in Ajisai.

Security Report

9.2
Low Risk9.2Low Risk

Valid MCP server (2 strong, 2 medium validity signals). 1 known CVE in dependencies ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

11 files analyzed · 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-masamoto1982-ajisai": {
      "args": [
        "-y",
        "ajisai-mcp-server"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Rust WebAssembly TypeScript Tauri Build and Deploy status

Ajisai QR Code

Ajisai

Ajisai is an AI-first, vector-oriented dataflow language for auditable, exact vector computation with machine-readable contracts. Fractions and the Vector data structure carry the central role.

Why Ajisai

I built Ajisai for two reasons. The first is that I had given up partway on learning every programming language I ever tried. The second is that I did not want to build something with a language — I wanted to build the tool itself.

What changed things for me was Forth: stack-oriented minimalism, pared back as far as it goes. Stripped of syntactic noise, it left the act of computation exposed, and it taught me that a language is allowed to be that small.

But I work in a world where manuals and established procedure matter, and I could not bring myself to give up the rigor of types. That left me with a sharp contradiction: I wanted types to matter, and I did not want to write them.

The answer was to carry that rigor in machine-readable contracts on the words rather than in annotations on values. Every Core Word states what it takes and how many, whether it is pure, and what it returns when it cannot produce a value; a user definition can carry the same kind of declaration, checked against those contracts before anything runs. There is nowhere in the language for a programmer to write a type — and the checking stays, on the side of the words.

Numbers follow the same principle. Write an integer or a decimal and the value is an exact rational either way, with SQRT extending the field out to algebraic irrationals. Nothing is rounded. The question of float versus double versus decimal does not exist here.

Branching followed the same logic. SELECT takes the two candidate values and the truth that chooses between them, and nothing else: the candidates are values the program has already built, so a branch evaluates nothing and skips nothing. That is only affordable because Ajisai has no recursion and no unbounded loop — every arm is finite by construction — and because a failure that depends on data is a reasoned absence rather than a raise, so computing the arm that loses costs a value, never a crash. The choice is made element by element, so one SELECT branches a whole vector without a loop, and its cost is the sum of what it was handed rather than something only running can discover.

What made this uncompromising design practical was AI. Now that AI can read intent and act as a real partner in development, there is no need to dress a language up in syntactic sugar for human convenience. Taking an AI-first premise — a new kind of intelligence writing the code alongside me — I became convinced that a language could hold nothing but strict machine-readable rules and leave everything else to plain dataflow.

Exact numbers, and a stack to carry them. When that shape settled, the picture in my mind was water poured into a vessel. What fills it is water alone, never rounded; yet there is no limit to the shapes of the ripples AI and I spread across its surface.

As it happens, a flower takes its scientific name from the Greek for "water vessel": the hydrangea — ajisai. I began the work in June, in the middle of Japan's rainy season. Ajisai is the language I built with that picture in mind.

Status

Ten concepts

Ajisai is built from ten concepts and nothing else.

  1. Exact real arithmetic with no rounding: an algebraic field closed under square roots, in which every comparison decides.
  2. Three outcomes: a value, a reasoned absence, or an error — with three-valued truth, and a program may declare either failing outcome itself.
  3. A stack of values, and vectors of values, text included.
  4. Shape and rank: element-wise lifting follows a vector's shape, which a program can read and rewrite.
  5. Keyed correspondence: Records, and tables as Records of columns.
  6. Code is a vector, evaluated only when a Word asks for it — and branching is not one of those Words.
  7. One modifier axis: consume or keep.
  8. A two-tier dictionary — sealed Core, user-defined User — with content-addressed identity that a program can ask for.
  9. A machine-readable contract for every Word, and a pre-execution check of user declarations against those contracts — both readable from inside the language.
  10. One host protocol, the only way anything outside the language observes it, and an executable conformance corpus that decides whether an implementation is Ajisai.

Documentation

DocumentAudienceRendered at
SpecificationBuilders and portersSPECIFICATION.html
Reference (English)Ajisai usersdocs/en/index.html — from a program down to its elements and every built-in Word with its contract (generated from spec/words.json), with runnable samples
Reference (Japanese)Ajisai usersdocs/ja/index.html — the same content in Japanese
Reference (English)Ajisai usersNot yet published — the Japanese edition is the current full Reference; the English Word Reference above covers the vocabulary
PlaygroundRun it nowmasamoto1982.github.io/Ajisai — its Word Reference button links to the English Word Reference

Build and run

TaskCommand
Install dependenciesnpm ci
Dev servernpm run dev
Build the WASM corenpm run build:wasm
Build for the browsernpm run build
Build the desktop app (Tauri)npm run tauri:build
Run the Rust test suitecargo test --all-targets (in rust/)

The MCP server for AI agents lives in tools/mcp-server/.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!