Griffin Star
New MCP server for Claude Code →

Your own team of AI agents, on your own box.

Griffin is an open-source, self-hosted platform for AI agents that work for you. Define each agent, grant it tools, decide who may call it — and talk to them from the web, Telegram, your terminal or another agent.

$ git clone https://github.com/paziresh24/Griffin.git
ClaudeCursorOpenAI-compatibleLocal modelsMIT
Griffin · Telegram3 agents
Every Monday, send the team a short summary of last week's customer feedback.
G
griffin · orchestrator
On it — splitting this between the researcher and the writer.
delegate → researcher, writer
R
researcher
Read 42 feedback notes from last week and grouped them into 5 themes.
knowledge_list ✓ 42 notes
W
writer
Drafted a 6-line summary with the top themes and two quotes.
show_media ✓ summary.md
G
griffin asks you
Create a job “Weekly feedback” — Mondays 09:00, post to the Team chat?
ApproveNot now
G
griffin
Done. The first report is in the Team chat; next run Monday 09:00.
How it works

Agents are data, not code.

No framework to learn and nothing to deploy when an agent changes. Three steps, all from the UI or the API.

01

Define an agent

An id, a job description, instructions and a model. Import a ready-made profile or write your own.

{ "id": "writer",
  "instructions": "Draft, edit, translate…",
  "provider": "claude" }
02

Grant tools per caller

Decide which tools the agent may use — and, separately, which of them each caller gets: you, another agent, a job, a colleague, an MCP client.

"callers": {
  "owner":  { "tools": "*" },
  "team":   { "tools": ["show_media"] } }
03

Talk from anywhere

Web, Telegram, terminal, HTTP API or MCP. Agents delegate to each other, ask you before anything irreversible, and report back.

$ node bin/griffin.mjs "summarise this week"
› delegating to researcher…
The core idea

Who asks decides what's possible.

The same agent gets a different toolbox depending on who is calling. It's enforced where tools are handed to the model — a tool a caller wasn't granted simply doesn't exist for that run. An example policy:

CallerRead notesCharts & filesDelegateSend TelegramCreate jobsIrreversible action
Youowner, web or Telegram✓✓✓✓✓✓
Another agentdelegated subtask✓✓✓——?
Colleaguemessaging on Telegram✓✓✓——?
Scheduled jobnobody watching✓✓✓———
MCP cliente.g. Claude Code, own token✓—✓——?
✓granted?waits for your approval—not available to this caller
Everything included

Built for agents you can trust with real work.

Delegation that doesn't block

An orchestrator hands work to specialists and stays free; results come back when subtasks land.

Approval for what matters

Irreversible actions wait for a button from you. Unattended runs refuse them. Every approval is recorded.

Answers from tools, not memory

Agents call typed tools and show where each answer came from. Charts, images, PDFs and files render inline.

Scheduled jobs

A prompt, a schedule and a destination. Daily numbers or a weekly digest, delivered to the chat people already use.

Any model, per agent

Claude Agent SDK, Cursor SDK, or any OpenAI-compatible endpoint — hosted or local. Mix them across agents.

Rehearsal mode

Simulation chats run the whole agent tree but record side effects instead of executing them — with scenario evals.

Secrets stay out of the model

The model process has no shell and no credentials. A separate broker holds them and exposes only named tools.

Runs on one small box

Node 24 and SQLite, one docker compose up. No SaaS control plane, no telemetry.

English and Persian

The UI follows your browser language, right-to-left included, and agents answer in the language you write in.

Interfaces

Meet your agents where you already are.

The core is the product; every interface is just a client of it. Run it with a UI, or fully headless.

Webchats, agents, jobs
Telegrambot or your account
MCPClaude Code, Cursor
Terminalstreaming CLI
HTTP APIBearer token
Jobscron & intervals
Use cases

One install, many jobs.

Quick start

From clone to first chat in two minutes.

A fresh install is one agent you can talk to. Everything else is something you add when you want it.

  • No cluster, vault or YAML to start
  • Bring a Claude, Cursor or OpenAI-compatible key
  • Or try the scripted demo with no key at all
terminal
$ git clone https://github.com/paziresh24/Griffin.git griffin && cd griffin
$ npm ci && npm run build
$ mkdir -p data workspace
$ echo "sk-ant-…" > data/anthropic.api-key
$ GRIFFIN_DATA=./data GRIFFIN_WORKSPACE=./workspace \
    PORT=3100 node apps/server/src/index.mjs
# open http://127.0.0.1:3100 — token in data/owner.token

# or with Docker
$ docker compose -f deploy/compose.yaml up -d --build
FAQ

Questions, answered.

What is Griffin?

Griffin is an open-source, self-hosted platform for a small team of AI agents. You define each agent's instructions, model and tools, and decide who may call which tool; the agents answer from those tools instead of from the model's memory.

What can I use Griffin for?

A personal assistant on Telegram, research and writing helpers, an assistant your colleagues can message, scheduled reports delivered to a chat, an MCP backend that Claude Code or Cursor can delegate long tasks to, or an operations agent connected to your own systems.

Which AI models does Griffin support?

Each agent picks its engine: the Claude Agent SDK, the Cursor SDK, or any OpenAI-compatible API — including local models served behind an OpenAI-compatible endpoint. Different agents can use different models.

How are permissions handled?

Tool access is filtered per caller before tools reach the model: you, another agent, a scheduled job, a colleague on a messenger and an external MCP client each get only the tools granted to them. Irreversible actions wait for your approval and every approval is recorded.

Do I need servers, Kubernetes or a vault to start?

No. A fresh install is Node 24 and SQLite with one agent you can chat with. Tool packs for your own systems switch on only when you configure them.

Is Griffin free and open source?

Yes. Griffin is MIT-licensed, runs on your own machine, and has no SaaS control plane or telemetry; you only pay for the model you choose.

Build your own team of agents.

Griffin is free, open source and MIT-licensed. If it's useful to you, a star helps other people find it.