An independent research lab exploring what comes next in intelligence, computing and systems.
Loading page.
The community preneurs
The product
Rinne
Alphav0.1.9
Local, open-source, terminal-first AI orchestration. Plans work into a DAG, routes it across the harnesses and APIs already on your machine, then drives a generator-evaluator loop until the job is done.
Day-to-day discussion, working groups and research in progress live here. Public channels are open to anyone. Private channels sit behind an application so contributors are vetted before they get the keys.
An independent research lab exploring what comes next in intelligence, computing and systems.
UP-001GIKSN ResearchUpdate5 min read
Rinne v0.1.7: MCP servers and Agent Skills
We just shipped v0.1.7 for Rinne, our local terminal-first AI orchestrator. This release is about two things we kept hearing from early users: you want to plug in external tools without writing glue code, and you want to reuse instruction packs across runs without copy-pasting prompts into every session.
So we built both. You can now connect any MCP server and install any compatible skill file. Rinne picks them up at planning time and wires them into the workers that actually need them.
ByGIKSN Research@giksnresearch·Posted July 5, 2026·Updated July 5, 2026
MCP servers
Most MCP setups live in a config file you edit by hand. We wanted something you could do from the terminal in thirty seconds.
rinne mcp add
Connect a server. Rinne figures out the transport from the link you pass in: an http:// or https:// URL is a remote server, anything else is treated as a local stdio launch command. It writes the config, stores secrets in your OS keychain (never in the config file) and runs a live connection test before it tells you you're done.
bash
# Local server (stdio)
rinne mcp add "npx -y @modelcontextprotocol/server-filesystem ."
# Remote server (HTTP)
rinne mcp add https://mcp.example.com/mcp
# Override the auto-derived name
rinne mcp add https://mcp.example.com/mcp --name my-server
# Scope to the current repo instead of global
rinne mcp add https://mcp.example.com/mcp --project
Auth flags (pick one for remote servers):
Flag
When to use
--bearer <token>
Server expects Authorization: Bearer …
--api-key <token>
Server expects an API key header (default X-API-Key, override with --auth-header)
--oauth [--client-id <id>]
Server uses OAuth 2.1. Opens your browser, stores refreshable tokens in the keychain
--secret-env VAR=<token>
Local stdio server that reads a token from an environment variable
Extra flags:
--header k=v on remote servers for non-secret HTTP headers (repeatable)
The conversation
No replies yet
Read first, then reply. Disagreement is welcome. Performance isn't.
No replies yet. Be the first to weigh in.
Add to the record
--env k=v on local servers for non-secret environment variables (repeatable)
--host-only to force Rinne's own tool loop even when a harness worker could call the tool natively
If you add a remote server with no auth flag and it returns a 401, Rinne tries OAuth automatically instead of just failing.
rinne mcp list
Shows every connected server, its endpoint and auth status. Aliases: ls.
bash
rinne mcp list
rinne mcp tools <name>
Lists the tools a specific server exposes. Useful right after add to confirm the connection actually works and see what the conductor has to work with.
bash
rinne mcp tools filesystem
rinne mcp test <name>
Runs a reachability check against a server you already added. Good for debugging a flaky endpoint without starting a full run.
bash
rinne mcp test my-server
rinne mcp login <name>
Re-authorizes a remote server over OAuth. Use this when tokens expire or you need to sign in again. Alias: auth.
bash
rinne mcp login my-server
rinne mcp remove <name>
Disconnects a server, removes it from config and clears any stored secret for that name. Aliases: rm.
bash
rinne mcp remove my-server
rinne mcp remove my-server --project # remove from project scope only
How MCP tools run inside a task
When the conductor attaches a tool to a node, what happens next depends on which worker lands that node:
API workers (Grok, OpenAI-compatible endpoints): Rinne drives an agentic tool loop. It offers the tool schema to the model, calls the MCP server, feeds the result back and repeats until the model is done.
Harness workers (Claude Code and similar): Rinne writes a scoped .mcp.json and hands it to the harness so the tool runs natively inside that environment.
Rinne also routes tool nodes to workers that can actually serve them. Tools don't get silently dropped because the wrong worker picked up the node.
Agent Skills
Skills are for reusable know-how: how to fill out a PDF form, how your team structures API handlers, how to run a specific migration. You write it once in SKILL.md and Rinne pulls it in when the conductor decides a node needs it.
rinne skill add
Install a skill from a folder or a direct path to a SKILL.md file. Aliases: install.
bash
rinne skill add ./skills/pdf-forms
rinne skill add ./skills/pdf-forms/SKILL.md
rinne skill add ./my-team-style-guide --project
rinne skill list
Shows every installed skill with its one-line description. Bare rinne skill with no subcommand does the same thing. Alias: ls.
bash
rinne skill list
rinne skill show <name>
Prints a skill's full metadata and instruction body. Handy when you want to confirm what the conductor will eventually inject. Alias: view.
bash
rinne skill show pdf-forms
rinne skill remove <name>
Uninstalls a skill from the chosen scope. Aliases: rm, uninstall.
bash
rinne skill remove pdf-forms
rinne skill remove pdf-forms --project
Skills follow the standard Agent Skills layout, so packs you already have from other tools should drop in without reformatting.
Same commands inside the TUI
If you live in rinne interactively, you don't have to leave the session. The slash commands mirror the CLI:
/mcp add <link>
/mcp list
/mcp tools <name>
/mcp test <name>
/mcp login <name>
/mcp remove <name>
/skill add <path>
/skill list
/skill show <name>
/skill remove <name>
Global vs project scope
By default, MCP servers and skills install globally and are available everywhere Rinne runs. Pass --project (or --proj) on add/remove to scope a server or skill to the current repo instead. Project-scoped entries live alongside your project's Rinne config and override global entries for that directory.
Get v0.1.7
bash
# Upgrade if you installed via the script
curl -fsSL https://raw.githubusercontent.com/GIKSN-RESEARCH/Rinne/main/install.sh | sh
# Or via crates.io
cargo install rinne --force
# Check you're on the right version
rinne --version
Prebuilt binaries for macOS, Linux and Windows are on the GitHub Releases page under v0.1.7.
A quick example
Say you're refactoring a service and you want filesystem access plus a team-specific coding style guide:
bash
rinne mcp add "npx -y @modelcontextprotocol/server-filesystem ."
rinne skill add ./skills/our-rust-style --project
rinne
Start a task. The conductor sees the MCP server's tools and your skill's description in its catalog. If a node needs to read files it attaches the filesystem tools. If a node is writing Rust it attaches the style skill. You stay in one terminal session. Rinne handles the rest.
We're building Rinne because multi-model orchestration shouldn't mean juggling five different CLIs and re-explaining context every time you switch tools. v0.1.7 is a step toward making that setup extensible: bring your own MCP servers, bring your own skills, keep everything local.
If you try it and something breaks, open an issue on GitHub. We read them.
The community preneurs
The product
Rinne
Alphav0.1.9
Local, open-source, terminal-first AI orchestration. Plans work into a DAG, routes it across the harnesses and APIs already on your machine, then drives a generator-evaluator loop until the job is done.
Day-to-day discussion, working groups and research in progress live here. Public channels are open to anyone. Private channels sit behind an application so contributors are vetted before they get the keys.