Skip to main content
Glama

Oh My Laya

English | Chinese

One command to bring local Laya decision-making to your coding agents.

Oh My Laya builds on laya-mlx. It downloads and verifies Hugging Face weights, then registers the laya_tell_me tool for classification, scoring, risk routing, and yes/no decisions. Inference runs entirely on your Mac after the model is downloaded.

It supports Codex, Claude Code, DeepSeek Harness (DSH), and pi-agent. The installer detects available clients and lets you select one, several, or all of them.

Install

Requirements: Apple Silicon, macOS 14+, and Python 3.11+. The default multilingual FP16 checkpoint is approximately 678 MB.

Install and register with all detected clients:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/leo1394/oh-my-laya/master/tools/oh-my-laya.sh)"

Without curl, use wget:

sh -c "$(wget -qO- https://raw.githubusercontent.com/leo1394/oh-my-laya/master/tools/oh-my-laya.sh)"

Install your preferred agent client first; Oh My Laya connects to clients already on your machine.

Already cloned the repository? Run the interactive installer from its root:

./install.sh

For non-interactive installation:

./install.sh --targets codex
./install.sh --targets codex,claude
./install.sh --targets all

Both all and both register every detected client. Restart the affected agent sessions after installation.

Related MCP server: local-mmcp

Use It

Ask your agent:

Use Laya to classify the current change as low, medium, or high risk, and decide whether human review is needed.

Oh My Laya provides one tool:

Tool

Purpose

laya_tell_me

choice classification, score ranking, and noul yes/no probability

Laya does not generate code and must not authorize destructive, publishing, or other consequential actions. The multilingual model has a total context budget of 1,024 tokens, so ask the agent to summarize long inputs first.

Common Options

# Select another checkpoint
./install.sh --targets all --model english
./install.sh --targets dsh --model typed-decisions

# Preview without downloading or changing configuration
./install.sh --targets codex --dry-run

The default installation directory is ~/.local/share/oh-my-laya/. Each agent starts its own lazy MCP process; concurrent callers each consume a separate unified-memory allocation.

Development

PYTHONPATH=src python3 -m unittest discover -s tests -v

Licensed under the MIT License.

Available Tools

1 tool
laya_tell_meB

Run a local typed decision with Laya-MLX.

Use for bounded classification, ordered scoring, and yes/no probability. Question types are choice, score, and noul. Treat results as advisory; never use them as authorization for destructive or consequential actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYes
questionsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that results are advisory and not authorization for destructive actions, which is valuable behavioral context. However, it doesn't describe any other behavioral traits such as potential side effects, error handling, or whether the operation is synchronous or has latency. The advisory warning is a positive, but it stops short of a comprehensive disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the core action, the second gives usage scope, the third is a safety caveat. No filler or repetition. The most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two parameters, nested objects, and an output schema (which is not shown), the description should explain how to structure inputs. It doesn't describe the 'state' or 'questions' format beyond mentioning question types. While the output schema might clarify returns, the input side is underspecified, making the tool hard to use correctly without external knowledge. The advisory note adds safety context but doesn't fill the parameter gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'question types are choice, score, and noul', which hints at the structure of the 'questions' parameter but doesn't explain how to encode them or what 'state' should contain. Neither parameter is explicitly described, leaving an agent without enough information to construct valid inputs. This is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Run') and resource ('a local typed decision with Laya-MLX'), and enumerates the decision types (bounded classification, ordered scoring, yes/no probability). It doesn't explicitly differentiate from siblings (none exist), but the purpose is understandable and not a tautology. A slight vagueness in 'local typed decision' prevents a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use for bounded classification, ordered scoring, and yes/no probability', giving clear when-to-use guidance. It also includes a caution against using results for destructive actions, which is a form of when-not-to-use. Since there are no sibling tools, it can't name alternatives, but the guidance is otherwise explicit and practical.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedlaya_tell_me

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusing it with another. The tool's purpose is clearly distinct by default.

Naming Consistency4/5

The name 'laya_tell_me' is readable and uses a consistent imperative style with a product prefix. Since there is only one tool, there is no conflicting naming convention to penalize heavily.

Tool Count3/5

A single tool feels quite thin for a server, even if the intended scope is narrow. It is borderline and could benefit from at least one supporting tool, such as model inspection or configuration.

Completeness4/5

The tool appears to cover the advertised decision types: choice, score, and yes/no probability. Minor gaps like model management or detailed output explanations exist, but the core decision workflow is functional.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers