Skip to content
Conduit

mcp server

second-shift

Scheduled agent tasks for your repositories, defined in Git. Approved access, sandboxed runs, a full audit trail.

piotrekno1/second-shiftcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "second-shift": {
      "command": "uvx",
      "args": [
        "secondshift"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 29, 2026

CI License: Apache-2.0

Give recurring engineering work a shift.

Commit an agent skill next to your code. SecondShift runs it in a sandbox, with only the access your team approved, and keeps its results and cost.

Open source, self-hosted, and in beta. Bring your own model provider.

Quick start · Skill catalog · Docs · Website

https://github.com/user-attachments/assets/0a9a7baa-f79e-4934-af81-8e5374e9cdbf

How it works

Define a job in .secondshift.yaml. This example runs a skill every Monday:

jobs:
  engineering-briefing:
    name: Monday engineering briefing
    skill: examples/engineering-briefing/.agents/skills/engineering-briefing/SKILL.md
    schedule: "0 9 * * 1"
    requires:
      mcps:
        - binding: github
          tools:
            - search_pull_requests
            - list_commits
    notify:
      - binding: engineering-reports
  1. Write the skill with Claude Code, Codex, or any coding agent. Merge it through your normal review.
  2. Approve its access in the dashboard. A repository can ask for tools. Only a workspace owner can grant them.
  3. Run skills when you need them. Start a run yourself, set a schedule, or trigger it from another service. Each run executes in an isolated sandbox with approved access.
  4. Review the results in the dashboard, Slack, or a webhook. Every run records its Git commit, tool calls, and model cost.

Why SecondShift

  • Checks happen even when nobody remembers. Investigate CI failures every morning or review release readiness every Friday.
  • The whole team shares it. Jobs, schedules, and run history live in one place, not in one person's setup.
  • Access is approved, not assumed. Credentials stay encrypted on your server and never reach the model or the sandbox.
  • Spending has limits. Set per-run token and time limits and see what each run cost.

Compare SecondShift with Hermes Agent and other tools.

Quick start

You need uv, Docker, and a model provider API key. Start Docker, then run:

release=https://github.com/piotrekno1/second-shift/releases
uv tool install --force --python 3.13 \
  "$release/download/v0.1.0b7/secondshift-0.1.0b7-py3-none-any.whl"
secondshift up

Open the sign-in link printed in the terminal. Then let SecondShift review its own documentation:

  1. Clone this repository: git clone https://github.com/piotrekno1/second-shift.git
  2. In Connections, add a model provider.
  3. In Repositories, choose Add local repository and select the clone.
  4. In Jobs, open Documentation drift and click Run now.

Deploy for your team

Follow the Docker Compose deployment guide for a shared Linux server with HTTPS, a GitHub App, and backups. Then pick a task from the skill catalog and follow the task setup guide.

Use it from your coding agent

SecondShift serves an MCP server at /mcp. Your agent can check a .secondshift.yaml before you commit it, start approved jobs, and read results. It cannot approve access or see credentials. See the MCP guide.

Learn more

Contributing

Bug reports, docs fixes, and pull requests are welcome. See CONTRIBUTING.md. For larger changes, open an issue first.

↑↓ navigate openesc close