Carrick

io.github.carrick-toolsPublished by GitHub account carrick-toolsv0.4.0Updated Nov 9, 2026

TypeScript codebase intelligence for AI agents and IDEs, across every service and repo.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Remote MCP server that indexes a TypeScript codebase across services and repos, letting an assistant search functions by intent and inspect endpoints, types…

What you can do
  • Search and browse indexed functions by intent, similarity or service/file listing
  • Inspect services, projects and the cross-service call graph, including unmatched calls
  • Look up operations, callers, API endpoints and compiler-resolved request/response types
  • Check consumer-producer compatibility and compare contract pairs
  • Read npm dependencies and version conflicts, and list outbound external calls
  • Generate Carrick setup files such as workflow, skill and config scaffolding
When to use it
Useful for agents working in full-stack or multi-service TypeScript codebases, where they need to find existing helpers, see who consumes an endpoint before changing it, or check that a frontend call still matches its backend handler.
Requirements
A remote endpoint at api.carrick.tools with OAuth sign-in required. The index itself is built by the Carrick CLI (npm install -g carrick, carrick init) on Node 24 or newer, or refreshed in CI via the GitHub Action; the README mentions a Free plan.
Before you install
Signing in grants the service access to your code index, and indexed code metadata is sent to Carrick's servers. The scaffold tool writes setup files into the project, and carrick init installs skills into .claude/skills and .agents/skills. Plan limits and pricing beyond the Free plan are not described here.

Installation

In SourceWeft

  1. Open Carrick in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.carrick-tools%2Fcarrick/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "carrick": {
      "type": "http",
      "url": "https://api.carrick.tools/mcp"
    }
  }
}

README

[Carrick]

Carrick

TypeScript codebase intelligence for AI agents & IDEs.

[Listed on mcpservers.org] [GitHub Marketplace] [Carrick MCP connector – tool definition quality and endpoint health on Glama] [Claude directory] [npm] [Open VSX] [MCP Registry]

Coding agents working across full-stack and multi-service codebases routinely rebuild existing helpers, trust stale type definitions, and modify API contracts without knowing who consumes them.

Carrick solves this by indexing your entire TypeScript ecosystem, from frontend apps to backend services, whether they live in a monorepo or across multiple repositories. By integrating deeply with the TypeScript compiler, Carrick traces every route, type, and cross-service call while recording function behaviour—so agents search by intent rather than name and stay grounded in your real architecture.

Delivered via MCP for AI agents and LSP for IDEs, Carrick ensures models see existing endpoints and utilities before generating new code. The scanner is source-available, runs from your CLI or CI pipeline, and includes a Free plan so you can start building safer agent workflows immediately.

Get started

bash
npm install -g carrickcarrick init

carrick init signs you in, connects your agent and downloads your index. The quick start has the details (Node 24 or newer).

One index, three surfaces

Search existing code through your agent, inspect live contracts in your editor, and catch breaking changes in your pull requests.

In your agent

Give your AI assistants complete context on what already exists, how endpoints are shaped, and who breaks if something changes. Carrick maps every function by what it actually does, allowing agents to find existing implementations and build on them—even in repositories you haven't checked out locally. Endpoint types are pulled straight from the TypeScript compiler in the service that exposes them.

Works with any MCP-compatible agent, including Claude Code, Cursor, Windsurf, and Codex.

In your editor

Inspect cross-service contracts and jump between connected files without leaving your IDE. "Go to Definition" jumps directly from a service call to its handler when the code is on disk, while Code Lens displays every caller across your local index inline. If a frontend call and backend handler fall out of sync, Carrick surfaces type mismatches as native editor diagnostics.

Available on the Visual Studio Marketplace and Open VSX, or runnable as a standard LSP server.

In your pull request

Bring the exact same index into CI to catch contract risks, duplicate work, and silent version drift. When a producer and consumer fall out of sync—regardless of protocol—Carrick flags the exact mismatch directly on your PR before it merges. It also checks dependency versions across services to catch conflicting package updates early.

Skills

Carrick ships with four skills for the most common agent failures — breaking a caller in another service, rebuilding existing code, trusting a stale copy of another service's type, and missing places in a codebase-wide change. Each skill gets its answer from the Carrick index. carrick init installs them into .claude/skills/ and .agents/skills/.

SkillUse itWhat it returns
carrick-impactBefore changing or deleting a route, handler, response shape, event or shared function, or to ask "who calls this?"Everything that depends on the code you are about to change, with a file and line for each, and a type verdict for each consumer
carrick-reuseAt the end of a task that added or changed functions, or to ask "does this already exist?"The new functions compared against the whole function index, and the places the project has built the same thing twice
carrick-driftBefore changing a request or response type, or when a compatibility verdict names a problem you cannot placeThe producer's type, each consumer call site's expected type and the stored verdict, side by side, one operation at a time
carrick-censusFor "find every place that does X" questionsEvery match for two wordings of one concept, paged to the end and joined into one list with a receipt

Ask your agent

  • "Which functions handle webhook signing across our services?"
  • "Where do we deduplicate users by email?"
  • "What calls /api/users, and what response shape does each caller expect?"
  • "Show me every function that retries on rate-limit errors."

MCP tools

The MCP endpoint exposes the index as structured tools your agent can call directly. The MCP tools reference lists each tool's parameters and response.

ToolPurpose
search_by_intentSearch functions by what they do, matching a plain-English query against each function's intent
find_similarFind similar functions, for code you are about to write or duplicates already in the project
list_function_intentsBrowse indexed functions and intents, a page at a time, by service or file
get_project_mapShow the project map, a short summary of services, contracts and unmatched calls
list_projectsList workspace projects and the repositories connected to each
list_servicesList the project's services, with their endpoint, call and function counts
get_service_graphShow the cross-service call graph, with unmatched calls and orphaned endpoints
get_operationFind who serves and calls an operation, given its method and path
get_callersFind callers of a function anywhere in the project
get_api_endpointsList a service's operations across HTTP, GraphQL, WebSockets and pub/sub
get_endpoint_typesRead an endpoint's request and response types as the TypeScript compiler resolved them
get_type_definitionResolve a named type definition to its expanded TypeScript
check_compatibilityCheck a consumer against a producer, with a type verdict for each call
get_service_dependenciesRead npm dependencies and version conflicts, for one service or across the project
list_external_callsList outbound calls to external targets, such as SDK calls, external domains and env-var URLs
get_contract_pairCompare consumer and producer types, operation by operation
scaffoldGenerate Carrick setup files (the workflow, a Carrick skill, carrick.json and Claude Code hooks)

Keep the index current

The GitHub Action refreshes each repository's part of the index on every push to main. It runs read-only in CI, with no API key to store.

yaml
name: Carrickon:  push:    branches: [main]  pull_request:    branches: [main]permissions:  id-token: write  contents: readjobs:  carrick:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v4        with:          fetch-depth: 0      - uses: carrick-tools/carrick@v1

Building the index has the full workflow, with on-demand rescans, dependency installs and monorepo setup.

Docs

Licence

Carrick has a free tier, and paid plans are on the pricing page. The scanner in this repository is source-available under the Elastic License 2.0. Copyright (c) 2026 Far Harbour B.V.

Development

See AGENTS.md for build, test, and contribution conventions.

bash
cargo testcargo fmtcargo clippy

Install the optional pre-commit hook to run formatting and tests before each commit:

bash
./scripts/install-hooks.sh

Source: README.md at commit 6ae7bb8

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.4.0LatestSep 27, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.