agent-passport-system-mcp 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/build/index.js +28 -53
- package/build/setup.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -6,19 +6,19 @@
|
|
|
6
6
|
<img width="380" height="200" src="https://glama.ai/mcp/servers/@aeoess/agent-passport-system-mcp/badge" />
|
|
7
7
|
</a>
|
|
8
8
|
|
|
9
|
-
Enforcement and accountability layer for AI agents. Bring your own identity.
|
|
9
|
+
Enforcement and accountability layer for AI agents. Bring your own identity. 150 tools by default across identity, delegation, enforcement, commerce, reputation, governance, coordination, and data.
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
|
|
12
|
+
npx agent-passport-system-mcp
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
The default profile is `full` — all 150 tools. Set `APS_PROFILE=essential` for a 26-tool slim profile covering the primitives most integrations need (identity, delegation, enforcement, commerce, reputation).
|
|
16
16
|
|
|
17
|
-
Available profiles:
|
|
17
|
+
Available profiles: full (default), essential, identity, governance, coordination, commerce, data, gateway, comms, minimal.
|
|
18
18
|
|
|
19
19
|
> **For AI agents:** visit [agent-passport.org/llms.txt](https://agent-passport.org/llms.txt) for machine-readable documentation or [llms-full.txt](https://agent-passport.org/llms-full.txt) for the complete technical reference. MCP discovery: [.well-known/mcp.json](https://agent-passport.org/.well-known/mcp.json).
|
|
20
20
|
|
|
21
|
-
Works with any MCP client: Claude Desktop, Claude Code, Cursor, Windsurf, and more. Full surface area
|
|
21
|
+
Works with any MCP client: Claude Desktop, Claude Code, Cursor, Windsurf, and more. Full surface area (the default): 150 tools across the protocol surface, including Wave 1 accountability primitives (Ed25519 ActionReceipt, AuthorityBoundaryReceipt, CustodyReceipt, ContestabilityReceipt, APSBundle, strict RFC 8785 JCS for interop-facing receipts, byte-match across implementations). Independently cited by [PDR in Production preprint (Nanook & Gerundium)](https://doi.org/10.5281/zenodo.19323172).
|
|
22
22
|
|
|
23
23
|
## Quick Start
|
|
24
24
|
|
|
@@ -215,9 +215,9 @@ Layer 1 — Agent Passport Protocol (Ed25519 identity)
|
|
|
215
215
|
|
|
216
216
|
## Links
|
|
217
217
|
|
|
218
|
-
- npm SDK: [agent-passport-system](https://www.npmjs.com/package/agent-passport-system) (v3.
|
|
219
|
-
- Python SDK: [agent-passport-system](https://pypi.org/project/agent-passport-system/) (v2.
|
|
220
|
-
- Go SDK: [agent-passport-go](https://pkg.go.dev/github.com/aeoess/agent-passport-go) (v0.
|
|
218
|
+
- npm SDK: [agent-passport-system](https://www.npmjs.com/package/agent-passport-system) (v3.3.0, 4,097 tests)
|
|
219
|
+
- Python SDK: [agent-passport-system](https://pypi.org/project/agent-passport-system/) (v2.8.0)
|
|
220
|
+
- Go SDK: [agent-passport-go](https://pkg.go.dev/github.com/aeoess/agent-passport-go) (v0.3.0; `go get github.com/aeoess/agent-passport-go@v0.3.0`)
|
|
221
221
|
- Paper (Social Contract): [doi.org/10.5281/zenodo.18749779](https://doi.org/10.5281/zenodo.18749779)
|
|
222
222
|
- Paper (Monotonic Narrowing): [doi.org/10.5281/zenodo.18932404](https://doi.org/10.5281/zenodo.18932404)
|
|
223
223
|
- Paper (Faceted Authority Attenuation): [doi.org/10.5281/zenodo.19260073](https://doi.org/10.5281/zenodo.19260073)
|
package/build/index.js
CHANGED
|
@@ -28,7 +28,9 @@ createAgoraMessage, createFeed, appendToFeed, getThread, getByTopic, getTopics,
|
|
|
28
28
|
// Values/Policy (Layer 2 + 5)
|
|
29
29
|
loadFloor, attestFloor, createActionIntent, evaluateIntent, FloorValidatorV1,
|
|
30
30
|
// Commerce (Layer 8)
|
|
31
|
-
commercePreflight
|
|
31
|
+
// commercePreflight moved to the gateway in agent-passport-system 3.3.0 (throw-only stub);
|
|
32
|
+
// the MCP tool now returns a machine-readable deprecation notice instead of calling it.
|
|
33
|
+
createCommerceDelegation, getSpendSummary, requestHumanApproval,
|
|
32
34
|
// Principal Identity
|
|
33
35
|
createPrincipalIdentity, endorseAgent, verifyEndorsement, revokeEndorsement, createDisclosure, createFleet, addToFleet, getFleetStatus, revokeFromFleet,
|
|
34
36
|
// Reputation-Gated Authority (Layer 9)
|
|
@@ -368,7 +370,7 @@ function movedToGateway(toolName) {
|
|
|
368
370
|
// ═══════════════════════════════════════
|
|
369
371
|
const server = new McpServer({
|
|
370
372
|
name: "agent-passport-mcp",
|
|
371
|
-
version: "
|
|
373
|
+
version: "3.3.0",
|
|
372
374
|
});
|
|
373
375
|
// Track server start time for Tier 0 connection timing
|
|
374
376
|
globalThis.__mcpStartTime = Date.now();
|
|
@@ -452,12 +454,13 @@ const TOOL_PROFILES = {
|
|
|
452
454
|
'create_intent', 'evaluate_intent', 'list_profiles',
|
|
453
455
|
]),
|
|
454
456
|
essential: new Set([
|
|
457
|
+
'identify',
|
|
455
458
|
'generate_keys', 'issue_passport', 'get_passport_grade',
|
|
456
459
|
'create_delegation', 'verify_delegation', 'revoke_delegation', 'sub_delegate',
|
|
457
460
|
'load_values_floor', 'attest_to_floor',
|
|
458
461
|
'create_intent', 'evaluate_intent', 'complete_action',
|
|
459
462
|
'create_agent_context', 'execute_with_context',
|
|
460
|
-
'
|
|
463
|
+
'get_commerce_spend', 'request_human_approval',
|
|
461
464
|
'resolve_authority', 'check_tier', 'rotate_key',
|
|
462
465
|
// v2 boundary primitives — most-used entry points
|
|
463
466
|
'aps_create_attribution_receipt',
|
|
@@ -665,18 +668,24 @@ const TOOL_SCOPE_MAP = {
|
|
|
665
668
|
'aps_capability_evaluate_authority': 'capability',
|
|
666
669
|
'aps_capability_mint_receipt': 'capability',
|
|
667
670
|
'aps_capability_sign_effect': 'capability',
|
|
671
|
+
// Mutual Authentication v1 (SDK v2.2.0) -> 'mutual-auth' scope
|
|
672
|
+
'mutualAuthBuildCertificate': 'mutual-auth',
|
|
673
|
+
'mutualAuthVerifyAttest': 'mutual-auth',
|
|
674
|
+
'mutualAuthDeriveSession': 'mutual-auth',
|
|
675
|
+
'mutualAuthVerifyTrustBundle': 'mutual-auth',
|
|
668
676
|
};
|
|
669
677
|
// ═══════════════════════════════════════
|
|
670
678
|
// TOOL: list_profiles
|
|
671
679
|
// ═══════════════════════════════════════
|
|
672
680
|
server.tool("list_profiles", "Show available tool profiles. Set APS_PROFILE env var to limit exposed tools (e.g. APS_PROFILE=data).", {}, async () => {
|
|
673
681
|
const lines = Object.entries(TOOL_PROFILES).map(([name, tools]) => `• ${name} (${tools.size} tools): ${Array.from(tools).slice(0, 6).join(', ')}${tools.size > 6 ? '...' : ''}`);
|
|
674
|
-
|
|
682
|
+
const essentialSize = TOOL_PROFILES.essential.size;
|
|
683
|
+
return { content: [{ type: "text", text: `📋 Tool Profiles (set APS_PROFILE env var):\n\nActive: ${activeProfile} (${activeProfile === 'full' ? '150' : profileFilter?.size || '150'} tools)\n\nRecommended: essential (${essentialSize} tools) - identity, delegation, enforcement, commerce, reputation.\n\n${lines.join('\n')}\n\n• full (150 tools): All tools exposed (default)` }] };
|
|
675
684
|
});
|
|
676
685
|
// ═══════════════════════════════════════
|
|
677
686
|
// TOOL: list_tools_for_scope (Primitive #9: Tool Pool Assembly)
|
|
678
687
|
// ═══════════════════════════════════════
|
|
679
|
-
server.tool("list_tools_for_scope", "List available MCP tools filtered by delegation scope. Pass your delegation scopes to see which tools you can use. Scopes: identity, delegation, principal, reputation, coordination, communication, governance, commerce, data, gateway, network, temporal, attribution. Use ['*'] for all tools.", {
|
|
688
|
+
server.tool("list_tools_for_scope", "List available MCP tools filtered by delegation scope. Pass your delegation scopes to see which tools you can use. Scopes: identity, delegation, principal, reputation, coordination, communication, governance, commerce, data, gateway, network, temporal, attribution, settlement, capability, mutual-auth. Use ['*'] for all tools.", {
|
|
680
689
|
scopes: z.array(z.string()).describe("Your delegation scopes, e.g. ['identity', 'delegation', 'commerce']"),
|
|
681
690
|
}, async ({ scopes }) => {
|
|
682
691
|
const allTools = Object.entries(TOOL_SCOPE_MAP);
|
|
@@ -2283,63 +2292,29 @@ server.tool("evaluate_intent", "[OPERATOR] Evaluate an intent against the Values
|
|
|
2283
2292
|
// ═══════════════════════════════════════
|
|
2284
2293
|
// COMMERCE TOOLS (Layer 8)
|
|
2285
2294
|
// ═══════════════════════════════════════
|
|
2286
|
-
server.tool("commerce_preflight", "
|
|
2295
|
+
server.tool("commerce_preflight", "[moved to gateway in SDK 3.3.0] The 6-gate commerce preflight orchestration moved out of the SDK and MCP into the AEOESS gateway. This tool no longer runs the pipeline locally; it returns a machine-readable deprecation notice pointing to the gateway commerce endpoint. Compose the pure gate predicates from the SDK yourself, or call the gateway.", {
|
|
2287
2296
|
merchant_name: z.string().describe("Merchant to purchase from"),
|
|
2288
2297
|
amount: z.number().describe("Purchase amount"),
|
|
2289
2298
|
currency: z.string().default("usd").describe("Currency code"),
|
|
2290
2299
|
delegation_id: z.string().describe("Commerce delegation ID"),
|
|
2291
2300
|
agent_id: z.string().describe("Agent making the purchase"),
|
|
2292
|
-
}, async (
|
|
2301
|
+
}, async (_args) => {
|
|
2293
2302
|
recordBehavior('commerce_preflight');
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
// F-1 fix: look up actual delegation from session state for real scope/spend
|
|
2298
|
-
const sessionDel = state.delegations.get(args.delegation_id);
|
|
2299
|
-
const actualSpendLimit = sessionDel?.spendLimit ?? 1000;
|
|
2300
|
-
const hasCommerceScope = sessionDel
|
|
2301
|
-
? sessionDel.scope.some((s) => s === 'commerce' || s === 'commerce:checkout' || s.startsWith('commerce'))
|
|
2302
|
-
: false; // no delegation → no commerce scope (agent-context fallback removed with gateway move)
|
|
2303
|
-
// Use session agent if available (created by identify), fallback to throwaway
|
|
2304
|
-
const agent = state.sessionAgent || joinSocialContract({
|
|
2305
|
-
name: args.agent_id,
|
|
2306
|
-
mission: 'Commerce operation',
|
|
2307
|
-
owner: 'mcp-session',
|
|
2308
|
-
capabilities: hasCommerceScope ? ['commerce:checkout', 'commerce:browse'] : [],
|
|
2309
|
-
platform: 'node',
|
|
2310
|
-
models: ['mcp'],
|
|
2311
|
-
});
|
|
2312
|
-
// Look up or create commerce delegation using actual scope/spend.
|
|
2313
|
-
// Reflect spend already recorded on the session delegation instead of the hardcoded 0 that
|
|
2314
|
-
// createCommerceDelegation returns, so the spend gate is not a structural no-op that always
|
|
2315
|
-
// sees the full limit remaining. NOTE: nothing in the MCP yet INCREMENTS sessionDel.spentAmount
|
|
2316
|
-
// (a spend-record path is a metering decision flagged for Tima), so cumulative enforcement here
|
|
2317
|
-
// is only as complete as the session state that feeds it.
|
|
2318
|
-
const commerceDel = {
|
|
2319
|
-
...createCommerceDelegation({
|
|
2320
|
-
agentId: args.agent_id,
|
|
2321
|
-
delegationId: args.delegation_id,
|
|
2322
|
-
spendLimit: actualSpendLimit,
|
|
2323
|
-
approvedMerchants: [], // Empty = all merchants allowed
|
|
2324
|
-
}),
|
|
2325
|
-
spentAmount: sessionDel?.spentAmount ?? 0,
|
|
2326
|
-
};
|
|
2327
|
-
const result = commercePreflight({
|
|
2328
|
-
signedPassport: agent.passport,
|
|
2329
|
-
delegation: commerceDel,
|
|
2330
|
-
merchantName: args.merchant_name,
|
|
2331
|
-
estimatedTotal: { amount: args.amount, currency: args.currency },
|
|
2332
|
-
});
|
|
2303
|
+
// commercePreflight() became a throw-only migration stub in agent-passport-system 3.3.0
|
|
2304
|
+
// (the orchestrator moved to the gateway). Rather than let that stub throw, return a clean,
|
|
2305
|
+
// machine-readable deprecation result so tools/list stays honest and calls fail predictably.
|
|
2333
2306
|
return {
|
|
2334
2307
|
content: [{
|
|
2335
2308
|
type: "text",
|
|
2336
2309
|
text: JSON.stringify({
|
|
2337
|
-
permitted:
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2310
|
+
permitted: false,
|
|
2311
|
+
error: 'commerce_preflight_moved_to_gateway',
|
|
2312
|
+
reason: 'Commerce preflight orchestration was removed from the SDK and MCP in agent-passport-system 3.3.0. Run the 6-gate preflight via the AEOESS gateway commerce endpoint.',
|
|
2313
|
+
gateway_endpoint: 'https://gateway.aeoess.com',
|
|
2314
|
+
sdk_note: 'The SDK still exports the pure gate predicates (checkPassportGate, checkScopeGate, checkSpendGate, checkMerchantGate, checkWalletGate) and signCommerceReceipt, so callers can compose preflight themselves.',
|
|
2341
2315
|
}, null, 2),
|
|
2342
2316
|
}],
|
|
2317
|
+
isError: true,
|
|
2343
2318
|
};
|
|
2344
2319
|
});
|
|
2345
2320
|
server.tool("get_commerce_spend", "Get spend analytics for a commerce delegation.", {
|
|
@@ -2347,9 +2322,9 @@ server.tool("get_commerce_spend", "Get spend analytics for a commerce delegation
|
|
|
2347
2322
|
delegation_id: z.string().describe("Commerce delegation ID"),
|
|
2348
2323
|
spend_limit: z.number().describe("Total allowed spend"),
|
|
2349
2324
|
}, async (args) => {
|
|
2350
|
-
// Report spend recorded on the session delegation instead of always reporting 0.
|
|
2351
|
-
//
|
|
2352
|
-
//
|
|
2325
|
+
// Report spend recorded on the session delegation instead of always reporting 0. Caveat:
|
|
2326
|
+
// nothing in the MCP yet increments sessionDel.spentAmount (a metering record path is a
|
|
2327
|
+
// decision flagged for Tima), so this reflects whatever the session state holds.
|
|
2353
2328
|
const sessionDel = state.delegations.get(args.delegation_id);
|
|
2354
2329
|
const commerceDel = {
|
|
2355
2330
|
...createCommerceDelegation({
|
package/build/setup.js
CHANGED
|
@@ -87,7 +87,7 @@ function setup() {
|
|
|
87
87
|
console.log(JSON.stringify({ mcpServers: { "agent-passport": serverConfig } }, null, 2));
|
|
88
88
|
}
|
|
89
89
|
else {
|
|
90
|
-
console.log(`\n Restart your AI client to activate Agent Passport (
|
|
90
|
+
console.log(`\n Restart your AI client to activate Agent Passport (150 tools).`);
|
|
91
91
|
console.log(` Then say: "Create an agent identity" or "Delegate authority"\n`);
|
|
92
92
|
if (!useRemote) {
|
|
93
93
|
console.log(` Tip: Use --remote for zero-install SSE mode: npx agent-passport-system-mcp setup --remote\n`);
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-passport-system-mcp",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"mcpName": "io.github.aeoess/agent-passport-mcp",
|
|
5
|
-
"description": "MCP server for the Agent Passport System - protocol-layer tools only. 150 tools (132 protocol + 10 gateway deprecation stubs). Identity, delegation, reputation, attestation, coordination, commerce, attribution primitive, attribution settlement. Tracks SDK v3.
|
|
5
|
+
"description": "MCP server for the Agent Passport System - protocol-layer tools only. 150 tools (132 protocol + 10 gateway deprecation stubs). Identity, delegation, reputation, attestation, coordination, commerce, attribution primitive, attribution settlement. Tracks SDK v3.3.0 (Wave 1 accountability primitives + Phase 4.1 payment rails shipped in SDK; MCP rail-tool exposure deferred). For gateway-runtime tools (ProxyGateway, AgentContext, DataEnforcementGate), use gateway.aeoess.com REST API or pin to v3.1.x.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"agent-passport-system-mcp": "./build/bin.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"homepage": "https://github.com/aeoess/agent-passport-mcp",
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
53
|
-
"agent-passport-system": "^3.3.
|
|
53
|
+
"agent-passport-system": "^3.3.1",
|
|
54
54
|
"zod": "^3.25.76"
|
|
55
55
|
},
|
|
56
56
|
"overrides": {
|