Skip to main content
Glama

Antigravity Learn MCP Server (andy)

A Model Context Protocol (MCP) server that mimics the Google Antigravity TUI slash command /learn for external agent harnesses like Cursor and Claude Code (Claude CLI).

It allows agents to inspect their own history, propose new rules or skills, and automatically write/update configurations under .cursorrules, .agents/AGENTS.md, or globally in ~/.gemini/config/.


Features

  • Prompt (learn): A guide that walks the LLM through the learn workflow (analyzing history, classifying rules/skills, proposing, and applying).

  • Tools:

    • list_customizations: Lists workspace and global rules and skills.

    • read_customization: Reads any rule or skill file.

    • write_proposal: Writes a draft learning_proposal.md for user review.

    • apply_customization: Persists the rule or skill to disk.

  • Resources:

    • rules://workspace: Exposes local .cursorrules and .agents/AGENTS.md rules.

    • rules://global: Exposes global ~/.gemini/config/AGENTS.md rules.

    • skills://workspace/list: Summarizes local workspace skills.

    • skills://global/list: Summarizes global skills.


Related MCP server: Memory Crystal MCP Server

Install

You need uv (a fast Python package manager):

brew install uv

Copy this prompt and paste it into any AI assistant (Claude Code, Cursor, etc.). It will walk you through the rest:

I want to install andy learn (https://github.com/timtty-sinch/andy_learn_tool) to run the /learn workflow in Claude Code or Cursor. Please guide me step-by-step, including installing it and running the setup wizard.

You can also print this prompt any time with andy prompt.

Option 2 — Manual install

uv tool install git+https://github.com/timtty-sinch/andy_learn_tool
andy setup

andy setup is an interactive wizard that asks which agent you use (Claude Code, Cursor, or both) and registers the server for you:

  • Claude Code → runs claude mcp add andy --scope user -- andy serve

  • Cursor → writes an andy entry into .cursor/mcp.json (workspace or global)

Verify Claude Code registration with claude mcp list. Restart your agent afterward.

Manual registration (without the wizard)

# Claude Code
claude mcp add andy --scope user -- andy serve

For Cursor, add to .cursor/mcp.json:

{
  "mcpServers": {
    "andy": { "command": "andy", "args": ["serve"] }
  }
}

Running from a source checkout (dev)

Without installing, run the script directly — andy setup will register uv run against the script path automatically:

uv run andy_learn_mcp.py setup

How to Trigger the /learn Workflow

In Claude Code

Type the following in your Claude prompt:

Use the learn prompt to analyze this session and persist any rules or skills.

Claude will:

  1. Load the learn prompt instructions.

  2. Scan the current terminal session for corrections/successes.

  3. List existing customizations to prevent duplicates.

  4. Call write_proposal to write a draft learning_proposal.md to your workspace root.

  5. Present the draft in chat and ask for your approval.

  6. Once you say "yes", call apply_customization to save it.

In Cursor Chat

  1. In the chat input, type @ and select Prompts (if available) or simply tell the model:

    Run the andy prompt to extract and save lessons from our recent work.
  2. The agent will read its context, write learning_proposal.md for your review, and wait for your confirmation to save the files.

Available Tools

4 tools
apply_customizationA

Save the rules or skills customizations. Always ensure you have written a proposal and obtained user confirmation before calling this tool.

Args: type: The customization type - either 'rule' or 'skill'. name: The name of the skill (required for skills). For rules, this can be empty or 'cursor'. content: The complete text content to write to the file. workspace_path: Optional path to the workspace root. is_global: Set to True to save globally, False to save to workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYes
contentYes
is_globalNo
workspace_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only mentions 'Save' without detailing whether files are overwritten, appended, or validated. There is no information about permissions, error conditions, or side effects, leaving significant behavioral gaps for a mutation tool.

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

Conciseness4/5

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

The description is well-structured with a concise purpose statement, a critical usage guideline, and an enumerated parameter list. Each part serves a distinct role without redundancy, though the parameter descriptions could be slightly more terse.

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

Completeness3/5

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

Given the tool has 5 parameters, an output schema, and no annotations, the description covers purpose, usage, and parameter semantics. However, it lacks details on error handling, file overwrite behavior, and permission prerequisites, which are important for a mutation tool. It is minimally adequate but not fully comprehensive.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining the type ('rule' or 'skill'), name ('required for skills' and 'can be empty or cursor for rules'), content ('complete text content'), and the purpose of is_global and workspace_path. This adds meaning beyond the schema's basic type and default information.

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

Purpose5/5

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

The description clearly states 'Save the rules or skills customizations,' providing a specific verb and resource. It distinguishes this tool from sibling tools like list_customizations, read_customization, and write_proposal by implying it is for applying/saving, not for listing, reading, or proposing.

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

Usage Guidelines5/5

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

The description explicitly instructs to 'Always ensure you have written a proposal and obtained user confirmation before calling this tool,' providing clear when-to-use and prerequisite conditions. This guides the agent to use write_proposal first and get confirmation, making the usage context unambiguous.

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

list_customizationsA

List all customization files (rules and skills) in the workspace and global directories.

Args: workspace_path: Optional custom path to the workspace root. Default is CWD.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states the tool lists files in two directories but does not clarify whether subdirectories are traversed, file formats, or that it is read-only. This leaves gaps in understanding behavior.

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?

The description is very concise: three lines with a clear header line and an Args section. Every sentence adds value, no redundancy.

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

Completeness4/5

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

Given the tool's simplicity (one optional parameter, list operation) and the presence of an output schema, the description covers the essential aspects. However, it could mention whether the listing is recursive, which is a minor gap.

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

Parameters4/5

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

The schema has 0% coverage (no parameter descriptions), so the description compensates by explaining the workspace_path parameter: 'Optional custom path to the workspace root. Default is CWD.' This adds meaningful context beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'list' and resource 'customization files (rules and skills)', and specifies the scope 'in the workspace and global directories'. It distinguishes from sibling tools like apply_customization, read_customization, and write_proposal.

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

Usage Guidelines3/5

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

The description provides the optional workspace_path argument and its default, but does not explicitly state when to use this tool versus alternatives like read_customization for viewing content. Usage context is implied but not explicitly guided.

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

read_customizationA

Read the contents of a rule or skill file.

Args: type: The customization type - either 'rule' or 'skill'. name: For 'rule', name is ignored or set to 'AGENTS.md'/.cursorrules. For 'skill', it's the skill folder name. workspace_path: Optional path to the workspace root. is_global: Set to True to read from global config, False to read from workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYes
is_globalNo
workspace_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided so description carries full burden. It correctly indicates read-only behavior ('Read the contents'), but does not detail return format or potential side effects (though none expected). Adequate but not enriched.

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

Conciseness4/5

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

Main purpose sentence followed by Args bullet points. Efficiently conveys information without excess. Could be slightly more streamlined but overall well-structured.

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

Completeness5/5

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

Given 4 parameters (2 required), no enums, and output schema exists, the description covers all necessary context: parameter roles, reading semantics, and location differences. Completeness is high.

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

Parameters5/5

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

Schema description coverage is 0%, but description fully explains each parameter: type values ('rule'/'skill'), name behavior (ignored for rule, folder for skill), workspace_path as optional, and is_global as read location flag. Greatly adds value over bare schema.

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

Purpose5/5

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

Clearly states it reads a rule or skill file, with specific verb and resource. Distinguishes from sibling tools (apply, list, write) by focusing on reading content.

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?

Provides clear context on when to use (to read customization files) and explains parameter behavior (name meaning for rule vs skill). Lacks explicit when-not or alternative tool mentions, but usage is well implied.

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

write_proposalA

Write a learning_proposal.md file to the workspace root for user review.

Args: content: The full markdown content of the proposal. workspace_path: Optional path to the workspace root.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
workspace_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose overwrite behavior, error handling, permissions needed, or side effects beyond writing. Minimal behavioral disclosure.

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

Conciseness4/5

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

Description is short with an Args list. Could be more concise by integrating param descriptions into flowing text, but overall efficient and front-loaded.

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

Completeness3/5

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

Output schema exists but not shown; description lacks key details like overwrite policy, success/failure conditions, and prerequisites. Not fully complete for a write tool.

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

Parameters4/5

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

Schema has 0% description coverage, but the description explains both parameters: content as full markdown and workspace_path as optional path. This adds significant meaning beyond the schema's type/title.

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

Purpose5/5

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

The description clearly states the action (write), the specific resource (learning_proposal.md), and the location (workspace root). It is distinct from siblings which deal with customizations.

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

Usage Guidelines3/5

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

The phrase 'for user review' implies use case but no explicit when-to-use vs alternatives or when-not-to-use. Siblings are about customizations, so context makes it usable but not explicit.

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

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: apply_customization saves, list_customizations lists names, read_customization reads content, and write_proposal writes a separate proposal file. No two tools are ambiguous.

Naming Consistency4/5

All tools follow a verb_noun pattern, but there is a minor pluralization inconsistency (list_customizations vs. singular other tools) and the noun changes from 'customization' to 'proposal'. Overall mostly consistent.

Tool Count5/5

With 4 tools, the count is well-scoped for the domain of managing customizations and proposals. Each tool serves a necessary function without unnecessary duplication.

Completeness3/5

The toolset covers create/read/update for customizations but lacks a delete tool. Additionally, there is no tool to read or list proposals, only to write them. These gaps are notable but manageable.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Self-learning memory for AI coding agents. Observes tool sequences, user preferences, and recurring fixes — auto-promotes high-confidence patterns into behavioral rules. 22 tools, 2 prompts, SQLite-backed, zero config.
    23
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to maintain persistent memory across sessions by capturing conversations, extracting durable knowledge, and injecting relevant context, supporting various MCP-compatible platforms.
    12
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to learn from their work by recording tasks, extracting patterns, detecting mistakes, and proactively surfacing insights, all using the agent's own model through a cooperative intelligence pattern.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides coding agents with durable, cross-session lessons-learned memory, enforcing that success or failure verdicts can only come from human approval, human correction, or objective metrics—never from the agent itself.
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/timtty-sinch/andy_learn_tool'

If you have feedback or need assistance with the MCP directory API, please join our Discord server