AgentValet/AgentValet

AgentValet/AgentValet

от agentvalet
AgentValet - это брокер идентичности и полномочий для AI-агентов и MCP-серверов. Он выдаёт каждому агенту свой криптографический ключ, краткосрочные JWT-токены и требует человеческого одобрения для...

AgentValet

MCP server IETF AIMS aligned SPIFFE identity RFC 7591 AuthZEN 1.0 MIT license

AgentValet

Identity and credential governance broker for AI agents and MCP servers. It gives every agent its own cryptographic identity, scoped and short-lived credentials per platform, human approval gates on the actions that matter, and an immutable audit log of everything it did.

Open core. This repo holds the open-source MIT-licensed client surface: the MCP server, the CLI, the Claude Desktop bundle, and the runtime adapters. The managed proxy runs the credential vault, the policy engine, and the audit store. A self-host reference for the proxy is on the roadmap.

Live at agentvalet.ai. Docs at docs.agentvalet.ai.

Quickstart

npx @agentvalet/register

That generates an RS256 keypair for your agent, registers it, and wires up the config. The private key never leaves your machine. From then on your agent signs a short-lived JWT per request and calls platforms through the AgentValet proxy. Approve the agent in the dashboard, grant it scopes, and you are running.

Use as an MCP server

npx @agentvalet/register writes this block into your client's MCP config for you. To wire it up by hand — in Claude Desktop, Claude Code, Cursor, or any MCP-compatible client — add:

agent_register

agent_register: Самостоятельно регистрирует этого агента с владельцем. Аутентификация не требуется. Входные данные: owner_id (string), agent_name (string), requested_scopes (массив {platformId, scopes}). Возвращает: registration_token, poll_url, client_id, scope, expires_in. Аутентификация: не требуется.

agent_register: Самостоятельно регистрирует этого агента с владельцем. Аутентификация не требуется. Входные данные: owner_id (string), agent_name (string), requested_scopes (массив {platformId, scopes}). Возвращает: registration_token, poll_url, client_id, scope, expires_in. Аутентификация: не требуется.

Параметры

  • owner_idstringобязательный

    The owner ID to register this agent under

  • agent_namestringобязательный

    Human-readable name for this agent

  • requested_scopesobject[]обязательный

    Array of platform scope requests

agent_status

agent_status: Опрашивает статус регистрации, используя токен из agent_register. Входные данные: token (строка, обязательный). Возвращает: status ("pending_approval"|"approved"|"rejected"), agent_id (если одобрено), mcp_config (если одобрено). Аутентификация: не требуется.

agent_status: Опрашивает статус регистрации, используя токен из agent_register. Входные данные: token (строка, обязательный). Возвращает: status ("pending_approval"|"approved"|"rejected"), agent_id (если одобрено), mcp_config (если одобрено). Аутентификация: не требуется.

Параметры

  • tokenstringобязательный

    Registration token returned by agent_register

authzen_evaluate

authzen_evaluate: Оценивает, есть ли у этого агента доступ к определённому разрешению (scope) платформы. Вызывайте этот инструмент ПЕРЕД use_platform, если хотите выполнить предварительную проверку без обращения к вышестоящему серверу. Входные данные: platform_id (строка), scope (строка). Возвращает: decision (булево), reason ("approved"|"denied"|"revoked"|"scope_not_granted"). Аутентификация: Bearer agent JWT (отправляется автоматически этим MCP-сервером).

authzen_evaluate: Оценивает, есть ли у этого агента доступ к определённому разрешению (scope) платформы. Вызывайте этот инструмент ПЕРЕД use_platform, если хотите выполнить предварительную проверку без обращения к вышестоящему серверу. Входные данные: platform_id (строка), scope (строка). Возвращает: decision (булево), reason ("approved"|"denied"|"revoked"|"scope_not_granted"). Аутентификация: Bearer agent JWT (отправляется автоматически этим MCP-сервером).

Параметры

  • platform_idstringобязательный

    The platform identifier (e.g. airtable, github)

  • scopestringобязательный

    The permission scope to evaluate (e.g. records:read)

list_my_pending_actions

list_my_pending_actions: Возвращает текущие ожидающие запросы на одобрение этого агента, а также любые завершённые за последние 24 часа. Используйте это при запуске сессии, когда пользователь упоминает предыдущее действие, или когда long-poll в use_platform завершился по таймауту и пользователь возвращается с вопросом о том, что произошло. Входные данные: отсутствуют. Возвращает: { pending: [{approval_id, platform_id, scope, created_at, expires_at}], recently_completed: [{approval_id, platform_id, scope, status, executed_at, result_summary, execution_error}] }. Аутентификация: Bearer JWT агента (отправляется автоматически).

list_my_pending_actions: Возвращает текущие ожидающие запросы на одобрение этого агента, а также любые завершённые за последние 24 часа. Используйте это при запуске сессии, когда пользователь упоминает предыдущее действие, или когда long-poll в use_platform завершился по таймауту и пользователь возвращается с вопросом о том, что произошло. Входные данные: отсутствуют. Возвращает: { pending: [{approval_id, platform_id, scope, created_at, expires_at}], recently_completed: [{approval_id, platform_id, scope, status, executed_at, result_summary, execution_error}] }. Аутентификация: Bearer JWT агента (отправляется автоматически).

Параметры

Без параметров.

list_platforms

list_platforms: Перечисляет платформы и области разрешений, доступные этому агенту. Входные данные: нет. Возвращает: { platforms: [{ platformId, platformName, scopes, requireApproval, connections? }], version: "<hex>" }. Платформа включает `connections` только если у неё 2+ учётных записей; передайте выбранный connection_id в use_platform (опустите для значения по умолчанию). Version: детерминированный хэш, который меняется только при изменении набора платформ или областей разрешений. Кешируйте значение между вызовами в рамках одной сессии - обновляйте только если подозреваете, что платформы изменились (например, пользователь упоминает новое подключение). Аутентификация: Bearer JWT.

list_platforms: Перечисляет платформы и области разрешений, доступные этому агенту. Входные данные: нет. Возвращает: { platforms: [{ platformId, platformName, scopes, requireApproval, connections? }], version: "<hex>" }. Платформа включает `connections` только если у неё 2+ учётных записей; передайте выбранный connection_id в use_platform (опустите для значения по умолчанию). Version: детерминированный хэш, который меняется только при изменении набора платформ или областей разрешений. Кешируйте значение между вызовами в рамках одной сессии - обновляйте только если подозреваете, что платформы изменились (например, пользователь упоминает новое подключение). Аутентификация: Bearer JWT.

Параметры

Без параметров.

report_self_diagnostic

report_self_diagnostic: Отправляет самоотчёт (ошибка/предупреждение/информация) владельцу AgentValet. Используйте после того, как ошибка use_platform вернёт report_hint, ИЛИ заблаговременно, когда вы сталкиваетесь с проблемой, о которой пользователь должен знать. Входные параметры: severity (debug|info|warn|error|critical), message (строка, обязательный, макс. 4096 байт), code (строка, необязательный, макс. 128 символов), platform (строка, необязательный), endpoint (строка, необязательный), correlation_id (uuid строка, необязательный — скопируйте из report_hint от неудачного вызова, чтобы привязать этот отчёт к строке аудита на стороне брокера), context (объект, необязательный, JSON-сериализованный должен быть < 16 КиБ). Возвращает: { id, received_at } в случае успеха. Аутентификация: Bearer agent JWT (отправляется автоматически).

report_self_diagnostic: Отправляет самоотчёт (ошибка/предупреждение/информация) владельцу AgentValet. Используйте после того, как ошибка use_platform вернёт report_hint, ИЛИ заблаговременно, когда вы сталкиваетесь с проблемой, о которой пользователь должен знать. Входные параметры: severity (debug|info|warn|error|critical), message (строка, обязательный, макс. 4096 байт), code (строка, необязательный, макс. 128 символов), platform (строка, необязательный), endpoint (строка, необязательный), correlation_id (uuid строка, необязательный — скопируйте из report_hint от неудачного вызова, чтобы привязать этот отчёт к строке аудита на стороне брокера), context (объект, необязательный, JSON-сериализованный должен быть < 16 КиБ). Возвращает: { id, received_at } в случае успеха. Аутентификация: Bearer agent JWT (отправляется автоматически).

Параметры

  • severityenumобязательный

    Severity level. error/critical trigger an owner notification.

    debuginfowarnerrorcritical
  • messagestringобязательный

    One-sentence agent narrative describing what happened.

  • codestring

    Optional short machine code (e.g. 'permission_denied').

  • platformstring

    Optional platform id this report relates to.

  • endpointstring

    Optional endpoint that failed.

  • correlation_idstring

    Optional UUID — copy from a use_platform error's report_hint to stitch this report to the audit row.

  • contextobject

    Optional structured context (request params, error details). Avoid secrets.

request_platform_access

request_platform_access: Запрашивает у администратора организации доступ для этого агента к платформе, от которой он сейчас заблокирован. Вызывайте этот инструмент, когда use_platform возвращает ошибку доступа. Входные параметры: platform (строка, обязательный), scope (строка, опциональный: необходимый объём доступа), reason (строка, опциональный: причина запроса). Вызов ожидает решения администратора до ~50 секунд. Возвращает: { status: "approved"|"pending"|"denied", message }. При статусе "approved" повторите исходный вызов use_platform. При статусе "pending" запрос поставлен в очередь; повторите позже. Аутентификация: Bearer agent JWT (отправляется автоматически).

request_platform_access: Запрашивает у администратора организации доступ для этого агента к платформе, от которой он сейчас заблокирован. Вызывайте этот инструмент, когда use_platform возвращает ошибку доступа. Входные параметры: platform (строка, обязательный), scope (строка, опциональный: необходимый объём доступа), reason (строка, опциональный: причина запроса). Вызов ожидает решения администратора до ~50 секунд. Возвращает: { status: "approved"|"pending"|"denied", message }. При статусе "approved" повторите исходный вызов use_platform. При статусе "pending" запрос поставлен в очередь; повторите позже. Аутентификация: Bearer agent JWT (отправляется автоматически).

Параметры

  • platformstringобязательный

    Platform ID (e.g. github, slack)

  • scopestring

    Optional specific scope needed (e.g. repo:read)

  • reasonstring

    Optional short reason for the request

use_platform

use_platform: Вызывает внешний API платформы (Airtable, GitHub, Slack, Metabase и т.д.) через прокси AgentValet. Входные данные: platform (string), endpoint (string), method (GET|POST|PUT|PATCH|DELETE), scope (string), body (object, необязательно — тело JSON-запроса для POST/PUT/PATCH/DELETE). Возвращает: тело ответа вышестоящего API. Может занимать до 50 секунд, если для действия требуется одобрение владельца: вызов блокируется в ожидании, затем прозрачно возвращает одобренный результат. Если одобрение не приходит вовремя, возвращает обёртку `pending_approval`, а действие выполняется асинхронно; пользователь получает уведомление о завершении. Аутентификация: Bearer JWT. Примечание: старые клиенты, передающие `data` вместо `body`, всё ещё принимаются для обратной совместимости, но `body` — каноническое имя.

use_platform: Вызывает внешний API платформы (Airtable, GitHub, Slack, Metabase и т.д.) через прокси AgentValet. Входные данные: platform (string), endpoint (string), method (GET|POST|PUT|PATCH|DELETE), scope (string), body (object, необязательно — тело JSON-запроса для POST/PUT/PATCH/DELETE). Возвращает: тело ответа вышестоящего API. Может занимать до 50 секунд, если для действия требуется одобрение владельца: вызов блокируется в ожидании, затем прозрачно возвращает одобренный результат. Если одобрение не приходит вовремя, возвращает обёртку `pending_approval`, а действие выполняется асинхронно; пользователь получает уведомление о завершении. Аутентификация: Bearer JWT. Примечание: старые клиенты, передающие `data` вместо `body`, всё ещё принимаются для обратной совместимости, но `body` — каноническое имя.

Параметры

  • platformstringобязательный

    Platform ID (e.g. airtable, github, slack, metabase)

  • endpointstringобязательный

    API path on the target platform (e.g. /v0/meta/bases or /api/dataset)

  • methodenumобязательный

    HTTP method to use

    GETPOSTPUTPATCHDELETE
  • scopestringобязательный

    Permission scope required for this action (e.g. records:read)

  • bodyobject

    JSON request body for POST/PUT/PATCH/DELETE. Optional. Forwarded verbatim to the upstream API.

  • dataobject

    Deprecated alias for `body` — prefer `body`. Kept for backwards compatibility.

  • connection_idstring

    Optional. Target a specific connection when a platform has more than one connected (e.g. two GitHub orgs). Value is the connection id shown in the dashboard. Omit to use the default connection.

Другие проверенные MCP-сервера

mariocandela/beelzebub

mariocandela/beelzebub

Beelzebub — MCP-сервер для развертывания адаптивных ловушек через SSH, HTTP, TCP, TELNET и MCP. LLM генерирует реалистичные ответы, привлекая атакующих для сбора угроз и обнаружения prompt injection в AI-агентах. Полезен специалистам по безопасности.

Go2091
aliyun/alibaba-cloud-ops-mcp-server

aliyun/alibaba-cloud-ops-mcp-server

официальный

MCP сервер для управления облачной инфраструктурой Alibaba Cloud через AI-ассистентов. Поддерживает ECS, VPC, RDS, OSS и Cloud Monitor, а также автоматический деплой приложений на EC2 с анализом ст...

Python125
coding-solo/godot-mcp

coding-solo/godot-mcp

MCP сервер для разработчиков на Godot: запускает редактор, выполняет проекты, захватывает отладку и управляет сценами. Интеграция с AI позволяет быстро проверять код и отлаживать игры прямо в движке.

JavaScript4776
browserbase/mcp-server-browserbase

browserbase/mcp-server-browserbase

официальный

MCP сервер облачной автоматизации браузера Browserbase. Позволяет AI-агентам навигировать по сайтам, извлекать данные и выполнять действия. Полезен для RPA и веб-скрапинга. Доступен self-hosted и hosted.

TypeScript3408
cjo4m06/mcp-shrimp-task-manager

cjo4m06/mcp-shrimp-task-manager

Shrimp Task Manager — это MCP-сервер для умного управления задачами в AI-разработке. Он разбивает сложные проекты на атомарные подзадачи, отслеживает зависимости и сохраняет контекст между сессиями. Отлично подходит разработчикам, работающим с ИИ-агентами.

JavaScript2135
blazickjp/arxiv-mcp-server

blazickjp/arxiv-mcp-server

MCP-сервер для интеграции arXiv с AI-ассистентами: поиск, загрузка, чтение и локальное хранение научных статей. Полезен исследователям и разработчикам для автоматизации работы с публикациями через ...

Python2969
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин