Skip to main content

GearCore

Python 3.13+ License: MIT MCP

One skill to rule them all.

๐ŸŒ Project website

GearCore is a unified skill and MCP hub that aggregates all your AI tools behind a single, progressively-disclosed interface. Instead of copying the same MCP server configs into Claude, Codex, Kimi, and every new project, you register everything once in GearCore and expose it as one native skill that every AI CLI tool discovers automatically.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  BEFORE: Context window bloat                               โ”‚
โ”‚                                                             โ”‚
โ”‚  Claude: 12 MCP servers ร— 200 tokens each = 2,400 tokens   โ”‚
โ”‚  Kimi:   Same 12 configs, copied again                     โ”‚
โ”‚  Codex:  Same 12 configs, copied again                     โ”‚
โ”‚  Every project: repeat                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AFTER: GearCore                                            โ”‚
โ”‚                                                             โ”‚
โ”‚  Claude โ†’ gearcore skill โ†’ request_skill("web-research")   โ”‚
โ”‚  Kimi   โ†’ gearcore skill โ†’ request_skill("filesystem")     โ”‚
โ”‚  Codex  โ†’ gearcore skill โ†’ request_skill("memory")         โ”‚
โ”‚                                                             โ”‚
โ”‚  Tools hidden until needed. Context window stays lean.     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The numbers above are illustrative, not measured. The structural claim โ€” one config instead of N copies per tool per project โ€” is what matters; exact token costs depend on each client's MCP schema serialization.

Features

  • ๐ŸŽญ Appears as a native skill โ€” AI tools invoke gearcore directly via their skill discovery. No MCP config duplication.
  • ๐Ÿ”’ Progressive disclosure โ€” Tools stay hidden until you explicitly unlock a skill via request_skill. Your context window stays clean.
  • ๐Ÿ“ Project scoping โ€” Each project can allowlist only the skills it needs via .gearcore/config.yaml.
  • ๐Ÿง  Core reasoning discipline โ€” Auto-activated zero-tool skills (like first-principles-scientific-mindset) set default reasoning norms without adding tool noise.
  • โ“ช Level-0 skills โ€” disclosure.core_skills marks skills revealed by default: list-skills prints their full instructions and sync embeds them into the self-skill.
  • โš”๏ธ Conflict resolution โ€” When multiple MCP servers expose the same tool name, GearCore deduplicates, namespaces, or unifies them automatically.
  • ๐Ÿ”„ One sync to all tools โ€” gearcore sync installs the self-skill into Claude, Codex, Kimi, and OpenCode in one command.

Client support

Verified end-to-end on 2026-08-25: gearcore sync installs the self-skill into each client's skill-discovery directory (symlink to a canonical copy), the link resolves, and the skill loads. The MCP hub handshake was verified with a live stdio client (verify_hub.py).

Client Install target Discovery Hub handshake
Claude Code ~/.claude/skills/gearcore โœ… โœ…
Codex CLI ~/.codex/skills/gearcore โœ… โœ…
Kimi CLI ~/.kimi/skills/gearcore โœ… โœ…
OpenCode ~/.config/opencode/skills/gearcore โœ… โœ…

Installation

Requires Python 3.13+ and uv.

# Install from a local clone (primary path today; no public release yet)
git clone https://github.com/BlinkVoid/GearCore.git && cd GearCore
uv tool install .

# Install the self-skill into Claude, Codex, Kimi, OpenCode
gearcore sync

Quick Start

1. Check your setup

gearcore status

2. Register an MCP server

# Filesystem access
gearcore add-mcp --id filesystem --type stdio \
  --command npx --args -y @modelcontextprotocol/server-filesystem /home/user/workspace

# Web research via Playwright
gearcore add-mcp --id playwright --type stdio \
  --command npx --args -y @playwright/mcp

3. Register a skill bundle

# A skill is just a directory with SKILL.md + manifest.json
gearcore add-skill /path/to/my-skill

4. Or onboard a whole core package

gearcore onboard /path/to/core

Discovers skills/*/SKILL.md and MCP scripts in pyproject.toml, then registers what is found.

5. Updating resources

# Update everything (MCP servers, skills, superpowers, self-skill sync)
gearcore update

# Update a single MCP server or skill
gearcore update mcp promptcore
gearcore update skill memory

# Preview changes without applying
gearcore update --dry-run

6. See what's available

gearcore list-skills
# GearCore skills (global context):
#   web-research โ€” Web browsing and research via Playwright
#   filesystem โ€” Secure filesystem access
#   memory โ€” Persistent memory via MemCore

7. AI tools use it

Once synced, Kimi/Claude/Codex/OpenCode loads GearCore as a skill and follows this flow:

AI: gearcore list-skills
โ†’ sees: web-research, filesystem, memory

AI: gearcore request-skill web-research
โ†’ SKILL.md injected into context
โ†’ Playwright tools unlocked: browser_navigate, browser_click, ...

AI: gearcore call playwright browser_navigate '{"url": "https://example.com"}'
โ†’ result returned

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Claude Code โ”‚   โ”‚  Codex CLI  โ”‚   โ”‚  Kimi CLI   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
       โ”‚                 โ”‚                 โ”‚
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ–ผ                 โ–ผ
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚   ~/.config/agents/skills/      โ”‚
        โ”‚         gearcore/SKILL.md       โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚
                          โ–ผ
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚    GearCore CLI       โ”‚
              โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
              โ”‚  โ”‚  Config Loader  โ”‚  โ”‚  โ† global + project layers
              โ”‚  โ”‚  Skill Manager  โ”‚  โ”‚  โ† visibility gating
              โ”‚  โ”‚ Process Manager โ”‚  โ”‚  โ† shared MCP backends
              โ”‚  โ”‚Conflict Resolverโ”‚  โ”‚  โ† dedup / namespace
              โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ–ผ               โ–ผ               โ–ผ
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚filesystemโ”‚  โ”‚playwrightโ”‚  โ”‚ memcore  โ”‚
    โ”‚  (stdio) โ”‚  โ”‚  (stdio) โ”‚  โ”‚  (sse)   โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Progressive Disclosure Flow

gearcore serve starts
    โ†“
list_tools โ†’ returns only: list_skills, request_skill (bootstrap)
    โ†“
AI calls list_skills โ†’ sees available skills
    โ†“
AI calls request_skill("web-research") โ†’ SKILL.md injected, tools unlocked
    โ†“
list_tools โ†’ now includes browser_navigate, browser_click, ...

Layered Configuration

~/.config/gearcore/
  config.yaml          โ† global: all MCPs, all skills, disclosure rules
  skills/              โ† global skill bundles

<project>/.gearcore/
  config.yaml          โ† project: allowlist subset, project-local MCP defs, overrides, context name
  skills/              โ† project-local skills (always visible in project)

Resolution order: built-in defaults โ†’ global โ†’ project. Projects narrow global scope via allowlists. Project-local definitions (.gearcore/skills/ and project registry.mcp_servers) are always visible in that project, never outside it; a project MCP def overrides a global one with the same id.

CLI Reference

Command Description
gearcore list-skills List available skills in current context
gearcore request-skill <name> Unlock a skill and expose its tools
gearcore call <server> <tool> '<json>' One-shot tool invocation on an MCP backend
gearcore status Show effective config and running context
gearcore serve Run the MCP hub (used automatically by AI tools)
gearcore add-mcp Register a new MCP server (--scope project for a project-local def, add --allowlist to allowlist an existing global server instead)
gearcore add-skill <path> Register a skill bundle
gearcore onboard <core-path> Discover and register MCP servers and/or skills from a core package
gearcore add-cli <program> Wrap a CLI program into a skill
gearcore remove mcp|skill <name> Remove an MCP or skill
gearcore sync Install self-skill to Claude / Codex / Kimi / OpenCode
gearcore update [mcp|skill|superpowers] [name] Version-aware refresh of registered resources, then re-sync

All commands accept --project <path> for project-scoped context and -v for verbose output.

Writing a Skill

A skill bundle is just a directory with two files:

my-skill/
  SKILL.md       โ† instructions for the AI (markdown + YAML frontmatter)
  manifest.json  โ† metadata: name, description, MCP server mappings

SKILL.md:

---
name: my-skill
description: What this skill does
---

# My Skill

When the user asks about X, do Y.

## Tools

Use `gearcore call my-server <tool> '<args>'` to invoke tools.

manifest.json:

{
  "name": "my-skill",
  "version": "1.0.0",
  "description": "What this skill does",
  "category": "general",
  "mcp_servers": [
    {
      "server_id": "my-server",
      "tools": ["tool_a", "tool_b"]
    }
  ]
}

See SKILL_SCHEMA.md for the full specification.

Documentation

Development

# Clone
git clone https://github.com/BlinkVoid/GearCore.git
cd GearCore

# Install in editable mode
uv pip install -e ".[dev]"

# Run integration tests
uv run python verify_hub.py
uv run python verify_skills.py

# Run the hub manually
uv run gearcore serve

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gearcore-2.2.0.tar.gz (271.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gearcore-2.2.0-py3-none-any.whl (204.4 kB view details)

Uploaded Python 3

File details

Details for the file gearcore-2.2.0.tar.gz.

File metadata

  • Download URL: gearcore-2.2.0.tar.gz
  • Upload date:
  • Size: 271.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gearcore-2.2.0.tar.gz
Algorithm Hash digest
SHA256 1a8af3b1d758742217f61dc52c63e71e96b9d72abcb7deb53c0e1010607ab895
MD5 1261071930c48cf5c75fe463187feecd
BLAKE2b-256 1a1c52f227a523faa0b81b503769d61b0fbc26e47cef64f91531e9b999766fff

See more details on using hashes here.

Provenance

The following attestation bundles were made for gearcore-2.2.0.tar.gz:

Publisher: publish-pypi.yml on BlinkVoid/GearCore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gearcore-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: gearcore-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 204.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gearcore-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0790226ccef7cd19e539f6124e321d9ce3559795cbc550c8b6b2018ab60e4644
MD5 5e316d948d6ee17352ba316415f1c69b
BLAKE2b-256 1f8106e827f872d77c218538cf4773022adc776691ac8430415b7c5c0cbcee57

See more details on using hashes here.

Provenance

The following attestation bundles were made for gearcore-2.2.0-py3-none-any.whl:

Publisher: publish-pypi.yml on BlinkVoid/GearCore

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page