Serveur MCP Agent Middleware
Commit 12 nov. 2026Fournit une passerelle sécurisée pour les appels d'outils d'agents en utilisant des permis signés, des clés d'idempotence et des reçus vérifiables hors ligne.
Aussi connu sous agentmiddleware/agent-middleware
- Étoiles
- 1
- Outils
- —
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 12 nov. 2026
- Licence
- Apache-2.0
Qu'est-ce que Agent Middleware MCP ?
Agent Middleware est un serveur MCP. Fournit une passerelle sécurisée pour les appels d'outils d'agents en utilisant des permis signés, des clés d'idempotence et des reçus vérifiables hors ligne.
Résumé généré à partir du README du projet
À propos du MCP server Agent Middleware
Sécuriser les actions critiques des agents, telles que les remboursements, les paiements ou les déploiements, est la fonction principale d'un middleware d'agent. Il agit comme une passerelle placée devant les outils à risque pour garantir que chaque invocation respecte une gouvernance stricte. Les développeurs peuvent l'utiliser comme une passerelle locale via un Makefile ou connecter un client MCP à un endpoint hébergé en utilisant une clé API transmise dans l'en-tête X-API-Key.
Le système repose sur plusieurs concepts fondamentaux pour maintenir le contrôle. Il utilise des permis, qui sont des autorisations signées définissant des outils spécifiques, des budgets et des délais d'expiration, ainsi que des clés d'idempotence pour empêcher les requêtes en double. Chaque appel réussi génère un reçu signé contenant les hachages de la requête et de la réponse, permettant une vérification hors ligne. Cette configuration est conçue pour les développeurs qui doivent gérer des appels d'outils à conséquences importantes via un protocole structuré plutôt que par une exécution directe.
Ce que vous pouvez faire avec
- 1Prévenir les transactions financières en doubleGarantissez qu'un paiement ou un remboursement n'est traité qu'une seule fois, même si l'agent renvoie la requête.
- 2Vérifier les résultats des outils hors ligneVérifiez la validité du résultat d'un appel d'outil à l'aide d'un enregistrement signé sans nécessiter de connexion en direct.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Configuration
AMW_API_KEYAMW_WALLET_ID
| Nom | Description | Type |
|---|---|---|
| AMW_API_KEY | — | |
| AMW_WALLET_ID | — |
Vérifications automatisées
Exécuté le 15 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessibleagentmiddleware/agent-middleware is public and reachablegithub.com/agentmiddleware/agent-middleware ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-11-12github.com/agentmiddleware/agent-middleware ↗Réussi
- OpenSSF ScorecardNon vérifié
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubAgent Middleware
Agent Middleware is a gateway you put in front of an agent's risky tools (refunds, payouts, deploys) so each action needs a signed permit, runs at most once per request key, and leaves a signed receipt anyone can check offline.
Status: Pre revenue, pre release, solo maintained. There are no paying customers or production deployments to point to. We are looking for design partners with one real consequential tool. Install from source; nothing is published to PyPI or npm.
Try it in 3 minutes
Use the hosted demo. Get a demo key at the demo key page. The example also needs the associated wallet ID.
Connecting an MCP client to the hosted endpoint https://api.agentmiddleware.dev/mcp? Get an API key and send it as the X-API-Key header.
git clone https://github.com/agentmiddleware/amw-demo.git
cd amw-demo
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
export AMW_API_KEY='<your key>'
export AMW_WALLET_ID='<your wallet id>'
python examples/permit_echo_retry.py
The example creates a permit, calls the reference echo tool, retries with the same key, and checks the receipt offline.
Run it locally
Use the gateway Makefile to start a local gateway. QUICKSTART.md has the full walk through.
git clone https://github.com/agentmiddleware/agent-middleware
cd agent-middleware/gateway
make quickstart
Concepts
- Permit: A signed grant that limits an agent to specified tools, a budget, and an expiry.
- Call: A governed MCP tool invocation under a permit.
- Request key: The
Idempotency-Keyheader that identifies a request for retry handling. - Receipt: A signed record of a call's outcome and hashes of its request and response, with a debit link when applicable.
- Credits: Internal metering units, not money.
Guarantees and limits
- a retry with the same key returns the original receipt instead of dispatching again
- a new key is a new request
- Reusing a key with a different request fails with a conflict before dispatch.
- A
delivery_uncertainreceipt means no trustworthy answer came back. The debit is kept, and the operator must reconcile with the downstream tool. The gateway does not resend automatically. - The gateway limits dispatch and debit per key, but remote effects depend on the tool honoring the forwarded key. A receipt signs request and response hashes, not raw tool content, and cannot prove a remote effect happened. This is not exactly once.
Read Security Limitations before relying on the gateway for a consequential action.
Repo map
This repository holds the reference gateway, protocol spec, SDKs,
integrations, and design-partner pilot loop (start with
QUICKSTART.md). The separate agent-middleware-api
repository is outside this checkout; partner evaluation guidance is here.
| Path | What it contains |
|---|---|
| gateway/ | Gateway implementation and local Makefile |
| sdk/ | Python and TypeScript client and verification code |
| verifier/ | Offline verification guide and vector checker |
| spec/ | Draft permit, receipt, and key formats |
| integrations/ | Framework wrappers and adapters |
| examples/ | Runnable examples and MCP client config |
| amw-demo | Hosted demo client and receipt verifier |
| amw-paypal-agent-demo | PayPal agent demo |
Apache 2.0 (gateway is Fair Source, FSL-1.1)
Questions sur Agent Middleware MCP
Que se passe-t-il si je renvoie une requête avec la même clé ?
Une tentative de renvoi utilisant la même clé retournera le reçu original au lieu de déclencher à nouveau l'action.
La passerelle peut-elle prouver qu'un effet à distance s'est réellement produit ?
Non, le reçu signe les hachages de la requête et de la réponse plutôt que le contenu brut de l'outil, il ne peut donc pas prouver qu'un effet à distance a eu lieu.
Qu'est-ce qu'un reçu 'delivery_uncertain' ?
Ce statut signifie qu'aucune réponse fiable n'a été retournée ; le débit est maintenu et l'opérateur doit effectuer une réconciliation manuelle avec l'outil en aval.