Citio logo

Citio

by lawrencehui

Self-hosted Slack teammate that uses Claude Code or Codex to investigate code, query logs, run tests, and open PRs.

Install Citio

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "lawrencehui-citio": {
      "command": "npx",
      "args": [
        "-y",
        "@lawrencehui/citio"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

lawrencehui/Citio MCP server connects Slack requests to Claude Code or OpenAI Codex running in your own infrastructure. Citio launches the selected CLI and exposes a controlled MCP tool layer for repository work, CloudWatch log queries, command execution, CI checks, and pull requests. Credentials for GitHub, AWS, and Slack remain with Citio rather than being passed directly to the agent. Reach for it when you want a self-hosted Slack interface for engineering tasks and can deploy an AWS Fargate container.

Use cases

  • Investigate bugs from Slack
  • Query CloudWatch logs
  • Run tests and allowlisted commands
  • Create branches and pull requests
  • Check CI status from an engineering thread

Key features

  • Slack DMs and channel mentions
  • Claude Code or OpenAI Codex execution
  • Controlled MCP tool layer
  • CloudWatch log queries
  • GitHub pull request workflows
  • Optional EFS persistence

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

21/21 checks healthy over the last 90d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 6d ago via OSV.dev · @lawrencehui/citio (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads38Package downloads in the last 30 days.
Last commit3mo agoMost recent push to the default branch.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Citio works

What lawrencehui/Citio MCP server does

lawrencehui/Citio MCP server provides the tool boundary for a self-hosted engineering assistant operated through Slack. Users can send a direct message or mention the bot in a channel, then ask it to investigate a defect, inspect logs, modify a repository, run tests, or prepare a pull request.

The execution engine is either Claude Code or OpenAI Codex. Citio handles the Slack interaction, task orchestration, provider session management, workspace setup, and access to external systems. The agent works through MCP tools instead of receiving raw GitHub, AWS, or Slack credentials.

Supported tasks described by the project include codebase investigation, file reads and writes, branch creation, command execution, CI status checks, CloudWatch log queries, context recall, and pull request creation. Command execution is restricted by an allowlist, and shell metacharacters are rejected.

How it works

A Slack adapter first normalizes an incoming message. An AgentRunner then serializes work and maintains the provider session; the documented runtime permits one active task per container. Citio starts the Claude Code or Codex CLI with an MCP configuration that points it to the bundled server.

The agent requests repository, logging, and workflow operations through that MCP layer. Citio performs those operations with the credentials held in its own environment, so the provider CLI does not directly handle the underlying secrets. Progress can be streamed back into Slack, with output redaction described as part of the Slack workflow.

Persistent storage is optional. When AWS EFS is enabled, repositories, sessions, memory, and provider authentication can survive container redeployments.

Setup and configuration

lawrencehui/Citio MCP server is packaged as a self-hosted container. The supplied deployment path targets AWS ECS Fargate, using Fargate Spot by default. The project also describes deployment to other hosts as future roadmap work rather than a currently shipped path.

The installer requires Node.js 22 or newer, Docker, AWS CLI v2, and Git on the host. AWS credentials must be configured for an account where Citio can deploy its resources. The container includes the Claude and Codex CLIs, GitHub CLI, and jq, so those tools do not need to be installed locally.

Before installation, provide an eligible Claude Max or Pro subscription, or a ChatGPT Go, Plus, or Pro subscription for Codex. An API key can be used as a fallback. You also need a Slack app and target channel ID, plus a GitHub fine-grained personal access token with contents-write and pull-requests-write access to the repositories it will modify.

Tools and capabilities

The documented MCP capabilities include:

  • Investigating a codebase and reading or writing files
  • Creating branches and pull requests
  • Running allowlisted commands
  • Checking CI status
  • Querying CloudWatch logs
  • Recalling stored context
  • Sending progress updates through the Slack workflow

The exact tool set may include additional tools beyond the examples listed in the README. GitHub, AWS, and Slack access is mediated by Citio rather than exposed as unrestricted credentials to the agent.

Limitations and notes

lawrencehui/Citio MCP server is marked pre-1.0. The documented native deployment option is AWS ECS Fargate, and the runtime model allows one active task per container. Other hosting targets and a pay-per-use serverless mode are listed as roadmap items.

The project does not describe a standalone hosted service. Operators are responsible for their AWS account, Slack app, GitHub token, provider subscription or key, and deployment configuration. EFS persistence is optional, so behavior across redeployments depends on whether persistent storage is enabled.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Citio

lawrencehui/Citio is an MCP server that connects Slack with Claude Code or OpenAI Codex running in self-hosted infrastructure. Its main tools support codebase investigation, file edits, allowlisted commands, CloudWatch log queries, CI checks, branch creation, and pull request creation while Citio retains GitHub, AWS, and Slack credentials.

Install it with the supplied one-command installer after preparing Node.js 22+, Docker, AWS CLI v2, Git, an AWS account, a Slack app, a GitHub token, and a Claude or Codex subscription. The documented deployment target is your AWS ECS Fargate environment.

Yes, it supports both Claude Code and OpenAI Codex as execution engines. Citio starts the selected CLI and connects it to the bundled MCP server through an MCP configuration.

Credentials stay in the Citio deployment and its infrastructure rather than being handed directly to the agent. The documented credential boundary covers GitHub, AWS, and Slack access, while MCP tools mediate the agent's operations.

The shipped deployment path targets AWS ECS Fargate.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewCitio AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/lawrencehui-citio?style=directory)](https://allmcps.com/mcp/lawrencehui-citio)
HTML Embed
<a href="https://allmcps.com/mcp/lawrencehui-citio"><img src="https://allmcps.com/api/badge/lawrencehui-citio?style=directory" alt="Citio on AllMCPs" /></a>