Mirrors

Registre officiel IA et agents

AI agent testing: replay real sessions against a rebuilt staging environment to catch regressions.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http mirrors 'https://api.runmirrors.com/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mirrors": {
            "type": "http",
            "url": "https://api.runmirrors.com/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mirrorkit (Go)
  2. Install
  3. Usage
  4. Options
  5. Lifecycle
  6. Testing

mirrorkit (Go)

A lightweight, drop-in production trace collector for LLM agents — the Go sibling of the Python mirrorkit and TypeScript mirrorkit (npm) packages.

It does exactly one thing: take traces you hand it and send them to your Mirrors backend — batched in the background, non-blocking, and safe (it never panics into your app after Init). It does not instrument SDKs and does not run agents; you build the trace, it ships it.

Install

go get github.com/ai-singhal/mirrorkit-go

Requires Go ≥ 1.21. Zero dependencies (standard library only).

Usage

package main

import (
    "time"

    mirrorkit "github.com/ai-singhal/mirrorkit-go"
)

func main() {
    mirrorkit.Init(mirrorkit.Options{APIKey: "mk_live_...", Project: "my-agent"})
    defer mirrorkit.Shutdown(5 * time.Second)

    mirrorkit.LogTrace([]mirrorkit.Message{
        mirrorkit.SystemMessage("You are a helpful assistant."),
        mirrorkit.UserMessage("What's the weather in Paris?"),
        mirrorkit.AssistantMessage("It's 18C and sunny."),
    }, mirrorkit.WithModel("claude-opus-4-8"))
}

Each trace is enqueued and flushed to {endpoint}/api/collect by a background goroutine (Authorization: Bearer <apiKey>, body {project, traces}).

Tool calls

Build tool-call and tool-result messages with the helpers:

mirrorkit.LogTrace([]mirrorkit.Message{
    mirrorkit.UserMessage("Cancel booking BK-4471."),
    mirrorkit.AssistantToolCalls(
        mirrorkit.NewToolCall("call_1", "cancel_booking", map[string]any{"id": "BK-4471"}),
    ),
    mirrorkit.ToolResult("call_1", `{"status":"cancelled"}`),
    mirrorkit.AssistantMessage("Done — BK-4471 is cancelled."),
})

Options

mirrorkit.Init(mirrorkit.Options{
    APIKey:        "mk_live_...",           // required
    Project:       "my-agent",              // default "default"
    Endpoint:      "https://api.mirror.dev", // else MIRRORKIT_ENDPOINT / MIRROR_ENDPOINT / prod
    FlushInterval: 2 * time.Second,         // ms between background flushes
    MaxBatch:      50,                      // max traces per POST
    MaxQueue:      10_000,                  // in-memory cap; oldest dropped past this
    Debug:         false,                   // internal debug logs (or MIRRORKIT_DEBUG=1)
})

Endpoint resolution: Options.Endpoint → MIRRORKIT_ENDPOINT → MIRROR_ENDPOINT → the production default.

Lifecycle

mirrorkit.Flush(5 * time.Second)     // block until the queue drains
mirrorkit.Shutdown(5 * time.Second)  // stop the background goroutine (flushes first)

Prefer one collector per process via the package-level Init / LogTrace / Flush / Shutdown. For multiple independent collectors, use NewClient and call LogTrace / Flush / Shutdown on the returned *Client.

Testing

cd mirrorkit-go && go vet ./... && go test ./...

Questions fréquentes

Qu'est-ce que Mirrors ?

AI agent testing: replay real sessions against a rebuilt staging environment to catch regressions.

Comment installer Mirrors ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http mirrors 'https://api.runmirrors.com/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Mirrors ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Mirrors est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Mirrors ?

Il est publié par ai-singhal. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.