agent-passport-system-mcp 2.16.0 → 2.16.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 CHANGED
@@ -10,7 +10,7 @@ MCP server for the [Agent Passport System](https://github.com/aeoess/agent-passp
10
10
 
11
11
  > **šŸ¤– For AI agents:** If you are an agent reading this, visit [aeoess.com/llms.txt](https://aeoess.com/llms.txt) for machine-readable documentation or [llms-full.txt](https://aeoess.com/llms-full.txt) for the complete technical reference. This README is designed for humans.
12
12
 
13
- **120 tools** across 48 core modules + 32 v2 constitutional governance modules (separation of powers, circuit breakers, approval fatigue detection, and more). Works with any MCP client: Claude Desktop, Cursor, Windsurf, and more.
13
+ **120 tools** across 53 core modules + 32 v2 constitutional governance modules (separation of powers, circuit breakers, approval fatigue detection, and more). Works with any MCP client: Claude Desktop, Cursor, Windsurf, and more.
14
14
 
15
15
  ## Quick Start
16
16
 
@@ -208,7 +208,8 @@ Layer 1 — Agent Passport Protocol (Ed25959 identity)
208
208
 
209
209
  - npm SDK: [agent-passport-system](https://www.npmjs.com/package/agent-passport-system) (v1.27.0, 1634 tests)
210
210
  - Python SDK: [agent-passport-system](https://pypi.org/project/agent-passport-system/) (v0.5.1)
211
- - Paper: [doi.org/10.5281/zenodo.18749779](https://doi.org/10.5281/zenodo.18749779)
211
+ - Paper (Protocol): [doi.org/10.5281/zenodo.18749779](https://doi.org/10.5281/zenodo.18749779)
212
+ - Paper (Faceted Narrowing): [doi.org/10.5281/zenodo.19260073](https://doi.org/10.5281/zenodo.19260073)
212
213
  - Docs: [aeoess.com/llms-full.txt](https://aeoess.com/llms-full.txt)
213
214
  - Agora: [aeoess.com/agora.html](https://aeoess.com/agora.html)
214
215
 
package/build/index.js CHANGED
@@ -291,15 +291,27 @@ const server = new McpServer({
291
291
  // coordination, commerce, data, gateway, comms, minimal.
292
292
  const TOOL_PROFILES = {
293
293
  identity: new Set([
294
- 'identify', 'generate_keys', 'create_principal', 'endorse_agent',
294
+ 'identify', 'generate_keys', 'issue_passport', 'create_principal', 'endorse_agent',
295
295
  'verify_endorsement', 'create_disclosure', 'create_delegation',
296
296
  'verify_delegation', 'revoke_delegation', 'sub_delegate',
297
+ 'revoke_endorsement', 'get_fleet_status', 'create_v2_delegation',
298
+ 'supersede_v2_delegation', 'resolve_authority', 'check_tier',
299
+ 'update_reputation', 'get_promotion_history', 'review_promotion',
297
300
  ]),
298
301
  governance: new Set([
299
302
  'identify', 'generate_keys', 'create_principal',
300
303
  'load_values_floor', 'attest_to_floor', 'create_intent', 'evaluate_intent',
301
304
  'create_agent_context', 'execute_with_context', 'complete_action',
302
305
  'create_delegation', 'verify_delegation', 'revoke_delegation',
306
+ 'create_charter', 'sign_charter', 'verify_charter',
307
+ 'evaluate_threshold', 'create_approval_request', 'add_approval_signature',
308
+ 'create_attestation', 'create_outcome_record', 'add_principal_report',
309
+ 'check_anomaly', 'activate_emergency', 'define_emergency_pathway',
310
+ 'request_migration', 'create_artifact_provenance', 'create_policy_context',
311
+ 'generate_governance_block', 'verify_governance_block',
312
+ 'parse_governance_block_html', 'governance_360',
313
+ 'generate_aps_txt', 'verify_aps_txt', 'resolve_path_terms',
314
+ 'create_chained_governance_block', 'compute_governance_taint',
303
315
  ]),
304
316
  coordination: new Set([
305
317
  'identify', 'generate_keys',
@@ -318,21 +330,35 @@ const TOOL_PROFILES = {
318
330
  'query_contributions', 'get_source_metrics', 'get_agent_data_footprint',
319
331
  'generate_settlement', 'generate_compliance_report',
320
332
  'record_training_use', 'get_model_data_sources',
333
+ 'create_access_receipt', 'create_access_snapshot',
334
+ 'create_derivation_receipt', 'create_decision_lineage_receipt',
335
+ 'resolve_lineage', 'evaluate_revocation_impact',
336
+ 'detect_purpose_drift', 'check_purpose_permitted',
337
+ 'check_usage_permitted', 'check_retention_expired',
338
+ 'check_aggregate_constraints', 'check_combination_permitted',
339
+ 'check_jurisdiction_transfer', 'resolve_rights_propagation',
340
+ 'declare_reidentification_risk', 'file_data_dispute',
321
341
  ]),
322
342
  gateway: new Set([
323
343
  'identify', 'generate_keys', 'create_principal',
324
344
  'create_gateway', 'register_gateway_agent',
325
345
  'gateway_process_tool_call', 'gateway_approve', 'gateway_execute_approval',
326
346
  'gateway_stats', 'create_delegation', 'load_values_floor', 'attest_to_floor',
347
+ 'create_hybrid_timestamp', 'compare_timestamps', 'validate_temporal_rights',
348
+ 'create_reserve_attestation', 'vouch_reputation', 'apply_reputation_downgrade',
349
+ 'evaluate_threshold',
327
350
  ]),
328
351
  comms: new Set([
329
352
  'identify', 'generate_keys',
330
353
  'post_agora_message', 'get_agora_topics', 'get_agora_thread',
331
354
  'get_agora_by_topic', 'register_agora_agent',
332
355
  'send_message', 'check_messages', 'broadcast', 'list_agents',
356
+ 'publish_intent_card', 'remove_intent_card', 'search_matches',
357
+ 'request_intro', 'respond_to_intro', 'get_digest',
358
+ 'register_agora_public',
333
359
  ]),
334
360
  minimal: new Set([
335
- 'identify', 'generate_keys', 'create_delegation', 'verify_delegation',
361
+ 'identify', 'generate_keys', 'issue_passport', 'create_delegation', 'verify_delegation',
336
362
  'create_intent', 'evaluate_intent', 'list_profiles',
337
363
  ]),
338
364
  };
@@ -352,7 +378,7 @@ server.tool = function (name, ...rest) {
352
378
  // ═══════════════════════════════════════
353
379
  server.tool("list_profiles", "Show available tool profiles. Set APS_PROFILE env var to limit exposed tools (e.g. APS_PROFILE=data).", {}, async () => {
354
380
  const lines = Object.entries(TOOL_PROFILES).map(([name, tools]) => `• ${name} (${tools.size} tools): ${Array.from(tools).slice(0, 6).join(', ')}${tools.size > 6 ? '...' : ''}`);
355
- return { content: [{ type: "text", text: `šŸ“‹ Tool Profiles (set APS_PROFILE env var):\n\nActive: ${activeProfile} (${activeProfile === 'full' ? '82' : profileFilter?.size || '82'} tools)\n\n${lines.join('\n')}\n\n• full (82 tools): All tools exposed (default)` }] };
381
+ return { content: [{ type: "text", text: `šŸ“‹ Tool Profiles (set APS_PROFILE env var):\n\nActive: ${activeProfile} (${activeProfile === 'full' ? '120' : profileFilter?.size || '120'} tools)\n\n${lines.join('\n')}\n\n• full (120 tools): All tools exposed (default)` }] };
356
382
  });
357
383
  // ═══════════════════════════════════════
358
384
  // TOOL: identify
@@ -416,6 +442,40 @@ server.tool("generate_keys", "Generate an Ed25519 keypair for agent identity.",
416
442
  };
417
443
  });
418
444
  // ═══════════════════════════════════════
445
+ // TOOL: issue_passport
446
+ // ═══════════════════════════════════════
447
+ server.tool("issue_passport", "Issue a complete agent passport with keys, signed passport, and optional values floor attestation in a single call. Use this to onboard any agent — no npm install required.", {
448
+ name: z.string().describe("Agent name (human-readable)"),
449
+ owner: z.string().describe("Owner/principal identifier"),
450
+ mission: z.string().optional().describe("Agent mission description"),
451
+ capabilities: z.array(z.string()).optional().describe("Agent capabilities (e.g., ['research', 'writing'])"),
452
+ attest_to_floor: z.boolean().optional().describe("If true, attests to the default values floor (F-001 through F-008)"),
453
+ }, async (args) => {
454
+ const agent = joinSocialContract({
455
+ name: args.name,
456
+ mission: args.mission || 'General purpose agent',
457
+ owner: args.owner,
458
+ capabilities: args.capabilities || ['general'],
459
+ platform: 'mcp',
460
+ models: ['unknown'],
461
+ floor: args.attest_to_floor && state.floorYaml ? state.floorYaml : undefined,
462
+ });
463
+ return {
464
+ content: [{
465
+ type: "text",
466
+ text: JSON.stringify({
467
+ passport: agent.passport,
468
+ publicKey: agent.passport.passport.publicKey,
469
+ privateKey: agent.keyPair.privateKey,
470
+ agentId: agent.passport.passport.agentId,
471
+ attestation: agent.attestation || null,
472
+ did: `did:aps:${agent.passport.passport.publicKey}`,
473
+ note: "Store the privateKey securely. Use publicKey and agentId for identification. The passport object is signed and verifiable by anyone.",
474
+ }, null, 2),
475
+ }],
476
+ };
477
+ });
478
+ // ═══════════════════════════════════════
419
479
  // TOOL: get_my_role
420
480
  // ═══════════════════════════════════════
421
481
  server.tool("get_my_role", "Get your current role, assigned tasks, and role-specific instructions.", {}, async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-passport-system-mcp",
3
- "version": "2.16.0",
3
+ "version": "2.16.1",
4
4
  "mcpName": "io.github.aeoess/agent-passport-mcp",
5
5
  "description": "MCP server for Agent Passport System — cryptographic identity, delegation, governance, and deliberation for AI agents",
6
6
  "type": "module",
@@ -49,6 +49,7 @@
49
49
  "homepage": "https://github.com/aeoess/agent-passport-mcp",
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.27.1",
52
+ "agent-passport-system": "^1.27.0",
52
53
  "zod": "^3.25.76"
53
54
  },
54
55
  "devDependencies": {