Agent skill

Arandu MCP

by arandu-io in arandu-io/arandu

Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…

MITAuto-check passedAgent Workflows

Install Arandu MCP

skills CLI
$ npx skills add arandu-io/arandu --skill arandu-mcp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install arandu-io/arandu arandu-mcp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/arandu-io/arandu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/arandu-mcp .claude/skills/arandu-mcp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
arandu-mcp
GitHub stars
281
Token cost
~2.1k tokens
SKILL.md length
959 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…

  • Works in 5 steps: Connect. Add the server to the client's… → Ask the recipe. Classify the feature as… → Ask where each piece goes. Before… → …
  • Tasks that involve MCP servers
  • SKILL.md covers When to use, Before you start, Contracts and imports and Procedure, plus 8 more sections
  • Calls go, bash and git

What it does

Arandu MCP is an agent skill from arandu-io/arandu. Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is built in, what aru doctor reports, which command does what, and a generator previewed before it writes. Use at the start of any session in an Arandu (Go) application whose client can start an MCP server, when the question is "where does this go", "what is the recipe for a webhook/job/nested resource", "run the doctor"…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering MCP servers and Webhooks. It works with Model Context Protocol and Go. The repository describes itself as: The Arandu project skeleton, which aru new clones. The licence is MIT.

When your agent uses it

  • Tasks that involve MCP servers
  • Tasks that involve Webhooks

Example prompts

  • “where does this go”
  • “what is the recipe for a webhook/job/nested resource”
  • “run the doctor”
  • “/arandu-mcp”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Connect. Add the server to the client's configuration with the line
  2. Ask the recipe. Classify the feature as arandu-feature says, then call
  3. Ask where each piece goes. Before writing a file, call
  4. Generate preview-first. Call generate without apply, read the files
  5. Run the doctor through the doctor tool after the change, fix each

What it can do on your machine

Read from SKILL.md and the folder at commit b8a4273. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • bash
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Arandu MCP loads about 2.1k tokens when it runs. Until then it costs about 174 tokens; SKILL.md has 959 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~174
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from arandu-io/arandu at commit b8a4273, republished under its MIT licence (© arandu-io). 959 words, ~2,069 tokens.

Download SKILL.mdSave it as .claude/skills/arandu-mcp/SKILL.md (or your agent's skills folder).
name
arandu-mcp
description
Connect a coding assistant to `aru mcp`, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is built in, what aru doctor reports, which command does what, and a generator previewed before it writes. Use at the start of any session in an Arandu (Go) application whose client can start an MCP server, when the question is "where does this go", "what is the recipe for a webhook/job/nested resource", "run the doctor", "which aru command", or before running an aru make:* generator. This is the developer's server; an MCP server the application itself exposes is arandu-integrations.
license
MIT
metadata.audience
app

Asking aru instead of guessing

When to use

At the start of a session in this project, when the assistant's client can start an MCP server over stdio, and again whenever a question has an answer aru already holds: where a kind of code lives and what it may import, the order a feature is built in, what the doctor reports, which command and flag exist, what a generator would write. The answers come from the aru the project runs, so they do not age the way a copied document does.

It is not the MCP server an application offers its own users' assistants -- tools in app/Mcp, mounted in routes/web.go. That one is arandu-integrations.

Before you start

  • aru must be on PATH, at the release the Dockerfile pins (ARU_VERSION). An older one serves an older contract and fewer doctor rules.
  • The server works on the project in the directory it is started in: start it at the root, where go.mod is.
  • Read arandu-feature first. The tools answer the questions its procedure asks; they do not replace the procedure.

Contracts and imports

The client starts the server the way it starts any stdio server:

json
{"command": "aru", "args": ["mcp"]}

Standard output carries protocol frames and nothing else; logs go to standard error. The tools, and when to call each:

toolargumentscall it to
where_does_it_gokind, one of the contract's cards: controller, request, service, policy, model, repository, client, job, event, listener, mail, notification, command, middleware, migration, factory, seeder, enum, resource, view, fragment, mcp-tool, webhook, invokable-controllerlearn the path a kind of code lives at, its imports, its signature, who calls it, what it may and may not do and its generator -- before writing the file
feature_reciperecipe: crud, action, invokable, nested, report, job, command, listener, webhook, integration, mcpget the order a kind of feature is built in, and the cards of each step
doctorrule to keep one rule's findings, profile (conventional or performance)read every finding with its rule, severity, file, line, why it matters and the card whose shape answers it -- after a change, before calling it finished
generatecommand (a make:*), arguments as typed after it, applypreview a generator: without apply it lists the files it would write and writes nothing; with apply=true it writes them and returns the wiring to paste
project_mapnoneread this project's features, its routes with method, pattern and name, every file classified by what it declares, the edges between them -- routes-to, authorizes, persists, renders, tested-by -- and the doctor's findings
commandsprefix such as make:list the aru commands with their usage and flags
imports_catalogpackage, moved_onlythe import path each framework symbol is named by, for the version go.mod requires

Procedure

  1. Connect. Add the server to the client's configuration with the line above, at the project root, and check it lists the seven tools.
  2. Ask the recipe. Classify the feature as arandu-feature says, then call feature_recipe with the matching recipe and follow its steps in order.
  3. Ask where each piece goes. Before writing a file, call where_does_it_go with its kind, and write it at that path with those imports and that signature. When the card and this repository's example disagree, the card is the contract and the example is reported.
  4. Generate preview-first. Call generate without apply, read the files it lists, and only then call it again with apply=true. Paste the wiring it returns into bootstrap/app.go and routes/web.go yourself -- the tool never edits them, and refuses a generator whose plan would.
  5. Run the doctor through the doctor tool after the change, fix each finding by moving the code to where its card says, and run it again until it reports nothing. Then run every gate below in a terminal.
Show full SKILL.md (344 more words)Show less

Commands

  • aru mcp, the server itself; the client starts it, a person does not
  • aru doctor, aru imports:catalog and the generators, aru make:module and the rest, are what the tools run, and each works the same in a terminal

Example

What where_does_it_go answers for service -- validate, load with the read Grant, authorize, apply the entity's rule, persist with the Grant -- written against the example resource, as the card's signature says:

go
package example

import (
	"context"

	"github.com/arandu-io/hesape/auth"
	"github.com/arandu-io/hesape/database"

	models "<module>/app/Models"
	policies "<module>/app/Policies"
)

// Unpin is a use case in the shape the service card gives: the row is read
// under a read Grant, the policy decides about that row, and the write is
// made with the Grant the policy issued for it.
func Unpin(ctx context.Context, db *database.DB, actor auth.Subject, id string) error {
	var policy policies.NotePolicy
	read, err := auth.Authorize(ctx, policy, actor, policies.NoteView, models.Note{})
	if err != nil {
		return err
	}
	note, err := models.Notes(db).FindOrFail(ctx, read, id)
	if err != nil {
		return err
	}
	write, err := auth.Authorize(ctx, policy, actor, policies.NoteUpdate, *note)
	if err != nil {
		return err
	}
	note.Pinned = false
	_, err = note.Save(ctx, write)
	return err
}

Do not

  • Call generate with apply=true before reading its preview.
  • Ask the tool to write wiring, run a migration or edit bootstrap/ or routes/: it refuses, and working around it in a shell is the edit the refusal exists to keep in a person's hands.
  • Copy a card's text into a document or a skill of this project: ask the tool again next time, so the answer follows the aru that is pinned.
  • Treat the server as the application's own MCP surface. Tools an application offers its users live in app/Mcp and call services as who is asking -- arandu-integrations.

Extending it

Nothing here is extended by the project. A card that answers the wrong path, a recipe that is missing or a tool that is needed is a change to aru, reported with what was asked and what came back.

Wiring

None in the project. The client's configuration holds the one line; the project's bootstrap/app.go, routes/web.go and go.mod do not change.

Acceptance test

  • The client lists doctor, project_map, where_does_it_go, feature_recipe, commands, imports_catalog and generate.
  • where_does_it_go with kind=service answers app/Services/<Entity>Service.go.
  • generate without apply writes nothing: git status is clean afterwards.
  • The doctor tool and aru doctor in a terminal report the same findings.

Limits

The server reads the project on disk; it does not run the application, so a route that exists only at runtime is not in project_map. The doctor tool is the doctor, with its limits: evidence, not proof. generate runs only the make:* commands; migrations, aru view:build, aru model:build and the gates are run in a terminal.

Gates

Run them all, in this order, as AGENTS.md lists them:

sh
export GOWORK=off
aru model:build --check
aru view:build
gofmt -l $(find . -name '*.go' -not -path '*/testdata/*' -not -name '*.kyse.go')
go vet ./...
bash tests/test-layout-guard.sh
go test -race ./...
go build ./...
aru doctor
<!-- arandu:begin custom -->
<!-- arandu:end custom -->

© arandu-io, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/arandu-mcp of arandu-io/arandu.

Open the folder on GitHubat commit b8a4273

Compare with similar skills

Arandu MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Arandu MCP compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Arandu MCP this skillarandu-io/arandu281—~2.1kAutomated safety check: PassMIT
Local DevSmilyOrg/photofield608—~2.4kAutomated safety check: PassMIT
Zalo AgentPhucMPham/zalo-agent-cli166—~2.3kAutomated safety check: PassMIT
Gas Executiontanaikech/ggsrun173—~2.5kAutomated safety check: PassMIT
fp-go MCP Server SetupIBM/fp-go2k—~3.3kAutomated safety check: PassApache-2.0
Add an MCP Tool to remindbradimsem/remindb129—~2.1kAutomated safety check: PassMIT

Similar skills

  • Local Dev

    SmilyOrg/photofield

    Run, test, and debug the photofield server locally. An agent skill from SmilyOrg/photofield.

    608 GitHub stars~2.4k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Zalo Agent

    PhucMPham/zalo-agent-cli

    Automate Zalo messaging, Official Account (OA), and MCP server integration via zalo-agent-cli.

    166 GitHub stars~2.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Gas Execution

    tanaikech/ggsrun

    Guidelines for writing and executing Google Apps Script code using ggsrun and finding documentation via workspace-developer.

    173 GitHub stars~2.5k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Official

    Configures and queries the fp-go MCP server so Claude Code, Claude Desktop or another MCP client can search fp-go's examples and skills directly.

    2k GitHub stars~3.3k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Checklist for adding a new Memory-prefixed tool to remindb's Go MCP server: tool file, registration, test, skill docs, plus the locking and logging rules.

    129 GitHub stars~2.1k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check passed
  • GitLab MCP Skill

    zereight/gitlab-mcp

    A skill your agent uses when working with the GitLab MCP server tools for merge requests, issues, repositories, pipelines, work items, variables, dependency proxy, vulnerabilities, webhooks, search…

    2k GitHub stars~2.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed

More from arandu-io/arandu

All 12 skills in this repo
  • Arandu API

    arandu-io/arandu

    Answering a program rather than a person in an Arandu (Go) application -- a JSON Resource, a JSON answer from the same routes the pages use, problem+json errors, bearer-token authentication and…

    281 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Arandu Async

    arandu-io/arandu

    Work that does not happen inside the request in an Arandu (Go) application -- background jobs and the worker, scheduled tasks, domain events through the outbox, listeners, notifications, mail and…

    281 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Decides whether a feature belongs in the application or in one of five shared Arandu modules before adding permissions, wallets, tags, Markdown rendering or API docs.

    281 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Arandu Feature

    arandu-io/arandu

    Start here for any change to an Arandu (Go) application that adds or changes behaviour -- "add invoices", "let users publish a post", "send a weekly report", "call the payment provider", "expose…

    281 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Arandu HTTP

    arandu-io/arandu

    Controllers, requests and routes of an Arandu (Go) application -- the seven resource actions, a resource nested under another, a singleton, a single-action (invokable) controller, a named action…

    281 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Arandu Integrations

    arandu-io/arandu

    Reaching other systems from an Arandu (Go) application, and letting them reach it -- the client of an external API with its interface and fake, webhooks sent and received, and tools, resources and…

    281 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed

Questions about Arandu MCP

What does Arandu MCP do?

Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is…. Arandu MCP is an agent skill from arandu-io/arandu. Connect a coding assistant to aru mcp, the MCP server the aru CLI runs for the project in the current directory, and ask it instead of guessing -- where a kind of code lives, the order a feature is built in, what aru doctor reports, which command does what, and a generator previewed before it writes.

When should I use Arandu MCP?

Arandu MCP fits situations like: tasks that involve MCP servers; tasks that involve Webhooks.

How do I install Arandu MCP in Claude Code?

Run `npx skills add arandu-io/arandu --skill arandu-mcp -a claude-code`. Or copy the skill folder (.agents/skills/arandu-mcp in arandu-io/arandu) into .claude/skills/arandu-mcp in your project. Claude Code loads it when a task matches its description.

How do I install Arandu MCP in Codex?

Run `npx skills add arandu-io/arandu --skill arandu-mcp -a codex`. Or copy the skill folder (.agents/skills/arandu-mcp in arandu-io/arandu) into .agents/skills/arandu-mcp in your project. Codex loads it when a task matches its description.

Can I use Arandu MCP in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add arandu-io/arandu --skill arandu-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/arandu-mcp, .gemini/skills/arandu-mcp, .github/skills/arandu-mcp and .opencode/skills/arandu-mcp in your project.

What does Arandu MCP need to run?

Going by SKILL.md and its folder, Arandu MCP needs the command-line tools its instructions call (go, bash and git).

Does Arandu MCP access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Arandu MCP safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Arandu MCP use?

Arandu MCP is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Arandu MCP use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Arandu MCP?

Skills that share tags, products or a category with Arandu MCP: Local Dev (SmilyOrg/photofield, 608 stars), Zalo Agent (PhucMPham/zalo-agent-cli, 166 stars), Gas Execution (tanaikech/ggsrun, 173 stars) and fp-go MCP Server Setup (IBM/fp-go, 2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Arandu MCP?

arandu-io (a GitHub organization) maintains it in arandu-io/arandu, which has 281 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: arandu-io/arandu on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.