@kya-os/contracts 1.6.19 → 1.7.0

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.
@@ -71,14 +71,193 @@ export interface MCPIdentity {
71
71
  /** Optional additional metadata */
72
72
  metadata?: Record<string, unknown>;
73
73
  }
74
+ /**
75
+ * MCP Server Card (SEP-1649)
76
+ * Returned from /.well-known/mcp.json
77
+ *
78
+ * This enables MCP clients to automatically discover server capabilities,
79
+ * available transports, authentication requirements, and protocol versions
80
+ * before establishing a connection.
81
+ *
82
+ * @see https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649
83
+ */
84
+ export interface MCPServerCard {
85
+ /** URL to the JSON schema definition */
86
+ $schema?: string;
87
+ /** Schema version for the server card document (e.g., "1.0") */
88
+ version: string;
89
+ /** The MCP protocol version the server supports (e.g., "2025-06-18") */
90
+ protocolVersion: string;
91
+ /** Server identification */
92
+ serverInfo: {
93
+ /** Server identifier for programmatic use */
94
+ name: string;
95
+ /** Human-readable server display name */
96
+ title?: string;
97
+ /** Server software version */
98
+ version: string;
99
+ };
100
+ /** Human-readable description of the server */
101
+ description?: string;
102
+ /** URL to an icon representing the server */
103
+ iconUrl?: string;
104
+ /** URL to the server's documentation */
105
+ documentationUrl?: string;
106
+ /** Transport configuration */
107
+ transport: {
108
+ /** Transport type (streamable-http, sse, stdio) */
109
+ type: 'streamable-http' | 'sse' | 'stdio';
110
+ /** Transport endpoint path (e.g., "/mcp") */
111
+ endpoint: string;
112
+ };
113
+ /** Server capabilities */
114
+ capabilities?: {
115
+ tools?: {
116
+ listChanged?: boolean;
117
+ };
118
+ prompts?: {
119
+ listChanged?: boolean;
120
+ };
121
+ resources?: {
122
+ subscribe?: boolean;
123
+ listChanged?: boolean;
124
+ };
125
+ logging?: Record<string, unknown>;
126
+ completions?: Record<string, unknown>;
127
+ experimental?: Record<string, unknown>;
128
+ };
129
+ /** Required client capabilities */
130
+ requires?: {
131
+ sampling?: Record<string, unknown>;
132
+ roots?: Record<string, unknown>;
133
+ elicitation?: Record<string, unknown>;
134
+ experimental?: Record<string, unknown>;
135
+ };
136
+ /** Authentication requirements */
137
+ authentication?: {
138
+ /** Whether authentication is mandatory */
139
+ required: boolean;
140
+ /** Supported authentication schemes */
141
+ schemes: Array<'bearer' | 'oauth2' | 'basic' | string>;
142
+ };
143
+ /** Usage instructions for the server */
144
+ instructions?: string;
145
+ /** Resource definitions - "dynamic" or array of resources */
146
+ resources?: 'dynamic' | Array<{
147
+ name: string;
148
+ title?: string;
149
+ uri: string;
150
+ description?: string;
151
+ mimeType?: string;
152
+ }>;
153
+ /** Tool definitions - "dynamic" or array of tools */
154
+ tools?: 'dynamic' | Array<{
155
+ name: string;
156
+ title?: string;
157
+ description?: string;
158
+ inputSchema?: Record<string, unknown>;
159
+ }>;
160
+ /** Prompt definitions - "dynamic" or array of prompts */
161
+ prompts?: 'dynamic' | Array<{
162
+ name: string;
163
+ title?: string;
164
+ description?: string;
165
+ arguments?: Array<{
166
+ name: string;
167
+ description?: string;
168
+ required?: boolean;
169
+ }>;
170
+ }>;
171
+ /** Additional metadata */
172
+ _meta?: Record<string, unknown>;
173
+ }
174
+ /**
175
+ * MCP Server Configuration (Legacy/Simplified format)
176
+ * @deprecated Use MCPServerCard for SEP-1649 compliance
177
+ */
178
+ export interface MCPServerConfig {
179
+ /** Server name for display in client UI */
180
+ name: string;
181
+ /** Server description */
182
+ description?: string;
183
+ /** MCP protocol endpoint URL (typically /mcp) */
184
+ url: string;
185
+ /** Transport type - "sse" for Server-Sent Events (Streamable HTTP) */
186
+ transport: 'sse' | 'stdio' | 'http';
187
+ /** MCP-I protocol version */
188
+ version?: string;
189
+ /** Agent's DID for identity verification */
190
+ agentDid?: string;
191
+ /** Supported capabilities */
192
+ capabilities?: string[];
193
+ /** Whether this server requires authentication */
194
+ requiresAuth?: boolean;
195
+ /** OAuth provider for authentication (if requiresAuth is true) */
196
+ authProvider?: string;
197
+ /** Additional metadata */
198
+ metadata?: Record<string, unknown>;
199
+ }
200
+ /**
201
+ * Client Configuration for Cursor/Claude Desktop
202
+ * Returned from /.well-known/mcp-client-config.json
203
+ *
204
+ * Returns ready-to-use configuration that can be copy-pasted into
205
+ * client configuration files.
206
+ */
207
+ export interface MCPClientConfig {
208
+ /** Configuration for Claude Desktop (claude_desktop_config.json) */
209
+ claudeDesktop: {
210
+ mcpServers: Record<string, {
211
+ url: string;
212
+ transport?: 'sse';
213
+ }>;
214
+ };
215
+ /** Configuration for Cursor (.cursor/mcp.json) */
216
+ cursor: {
217
+ mcpServers: Record<string, {
218
+ url: string;
219
+ transport?: 'sse';
220
+ }>;
221
+ };
222
+ /** Deep link for one-click Cursor installation */
223
+ cursorDeepLink?: string;
224
+ /** Additional metadata (server info, agent DID, etc.) */
225
+ _meta?: {
226
+ serverName?: string;
227
+ serverUrl?: string;
228
+ mcpEndpoint?: string;
229
+ agentDid?: string;
230
+ generatedAt?: number;
231
+ instructions?: string;
232
+ [key: string]: unknown;
233
+ };
234
+ }
74
235
  /**
75
236
  * Well-known endpoint handler configuration
76
237
  */
77
238
  export interface WellKnownConfig {
78
- /** Service name to advertise */
239
+ /** Service name to advertise (programmatic identifier) */
79
240
  serviceName?: string;
80
- /** Service endpoint URL */
241
+ /** Human-readable display title */
242
+ serviceTitle?: string;
243
+ /** Service endpoint URL (base URL, e.g., https://example.com) */
81
244
  serviceEndpoint?: string;
245
+ /** Server description */
246
+ description?: string;
247
+ /** Server software version */
248
+ serverVersion?: string;
249
+ /** MCP protocol version (e.g., "2025-06-18") */
250
+ protocolVersion?: string;
251
+ /** URL to server icon */
252
+ iconUrl?: string;
253
+ /** URL to documentation */
254
+ documentationUrl?: string;
255
+ /** Whether authentication is required */
256
+ requiresAuth?: boolean;
257
+ /** Supported authentication schemes */
258
+ authSchemes?: Array<'bearer' | 'oauth2' | 'basic' | string>;
259
+ /** Usage instructions */
260
+ instructions?: string;
82
261
  /** Additional metadata to include */
83
262
  metadata?: Record<string, unknown>;
84
263
  }
@@ -97,7 +276,13 @@ export declare enum WellKnownPath {
97
276
  DID_DOCUMENT = "/.well-known/did.json",
98
277
  AGENT_DOCUMENT = "/.well-known/agent.json",
99
278
  MCP_IDENTITY = "/.well-known/mcp-identity",
100
- TOOL_PROTECTIONS = "/.well-known/tool-protections.json"
279
+ TOOL_PROTECTIONS = "/.well-known/tool-protections.json",
280
+ /** SEP-1649 MCP Server Card (current usage by Cursor/Claude Desktop) */
281
+ MCP_SERVER_CONFIG = "/.well-known/mcp.json",
282
+ /** SEP-1649 MCP Server Card (proposed spec path) */
283
+ MCP_SERVER_CARD = "/.well-known/mcp/server-card.json",
284
+ /** Client configuration helper (Cursor/Claude Desktop ready-to-use config) */
285
+ MCP_CLIENT_CONFIG = "/.well-known/mcp-client-config.json"
101
286
  }
102
287
  /**
103
288
  * Zod Schemas for Validation
@@ -198,15 +383,15 @@ export declare const AgentDocumentSchema: z.ZodObject<{
198
383
  version: z.ZodOptional<z.ZodString>;
199
384
  description: z.ZodOptional<z.ZodString>;
200
385
  }, "strip", z.ZodTypeAny, {
201
- version?: string | undefined;
202
386
  name?: string | undefined;
203
- serviceEndpoint?: string | undefined;
387
+ version?: string | undefined;
204
388
  description?: string | undefined;
389
+ serviceEndpoint?: string | undefined;
205
390
  }, {
206
- version?: string | undefined;
207
391
  name?: string | undefined;
208
- serviceEndpoint?: string | undefined;
392
+ version?: string | undefined;
209
393
  description?: string | undefined;
394
+ serviceEndpoint?: string | undefined;
210
395
  }>>;
211
396
  }, "strip", z.ZodTypeAny, {
212
397
  capabilities: {
@@ -216,10 +401,10 @@ export declare const AgentDocumentSchema: z.ZodObject<{
216
401
  };
217
402
  id: string;
218
403
  metadata?: {
219
- version?: string | undefined;
220
404
  name?: string | undefined;
221
- serviceEndpoint?: string | undefined;
405
+ version?: string | undefined;
222
406
  description?: string | undefined;
407
+ serviceEndpoint?: string | undefined;
223
408
  } | undefined;
224
409
  }, {
225
410
  capabilities: {
@@ -229,10 +414,10 @@ export declare const AgentDocumentSchema: z.ZodObject<{
229
414
  };
230
415
  id: string;
231
416
  metadata?: {
232
- version?: string | undefined;
233
417
  name?: string | undefined;
234
- serviceEndpoint?: string | undefined;
418
+ version?: string | undefined;
235
419
  description?: string | undefined;
420
+ serviceEndpoint?: string | undefined;
236
421
  } | undefined;
237
422
  }>;
238
423
  export declare const MCPIdentitySchema: z.ZodObject<{
@@ -257,18 +442,514 @@ export declare const MCPIdentitySchema: z.ZodObject<{
257
442
  serviceName: string;
258
443
  metadata?: Record<string, unknown> | undefined;
259
444
  }>;
445
+ /** SEP-1649 MCP Server Card Schema */
446
+ export declare const MCPServerCardSchema: z.ZodObject<{
447
+ $schema: z.ZodOptional<z.ZodString>;
448
+ version: z.ZodString;
449
+ protocolVersion: z.ZodString;
450
+ serverInfo: z.ZodObject<{
451
+ name: z.ZodString;
452
+ title: z.ZodOptional<z.ZodString>;
453
+ version: z.ZodString;
454
+ }, "strip", z.ZodTypeAny, {
455
+ name: string;
456
+ version: string;
457
+ title?: string | undefined;
458
+ }, {
459
+ name: string;
460
+ version: string;
461
+ title?: string | undefined;
462
+ }>;
463
+ description: z.ZodOptional<z.ZodString>;
464
+ iconUrl: z.ZodOptional<z.ZodString>;
465
+ documentationUrl: z.ZodOptional<z.ZodString>;
466
+ transport: z.ZodObject<{
467
+ type: z.ZodEnum<["streamable-http", "sse", "stdio"]>;
468
+ endpoint: z.ZodString;
469
+ }, "strip", z.ZodTypeAny, {
470
+ type: "streamable-http" | "sse" | "stdio";
471
+ endpoint: string;
472
+ }, {
473
+ type: "streamable-http" | "sse" | "stdio";
474
+ endpoint: string;
475
+ }>;
476
+ capabilities: z.ZodOptional<z.ZodObject<{
477
+ tools: z.ZodOptional<z.ZodObject<{
478
+ listChanged: z.ZodOptional<z.ZodBoolean>;
479
+ }, "strip", z.ZodTypeAny, {
480
+ listChanged?: boolean | undefined;
481
+ }, {
482
+ listChanged?: boolean | undefined;
483
+ }>>;
484
+ prompts: z.ZodOptional<z.ZodObject<{
485
+ listChanged: z.ZodOptional<z.ZodBoolean>;
486
+ }, "strip", z.ZodTypeAny, {
487
+ listChanged?: boolean | undefined;
488
+ }, {
489
+ listChanged?: boolean | undefined;
490
+ }>>;
491
+ resources: z.ZodOptional<z.ZodObject<{
492
+ subscribe: z.ZodOptional<z.ZodBoolean>;
493
+ listChanged: z.ZodOptional<z.ZodBoolean>;
494
+ }, "strip", z.ZodTypeAny, {
495
+ listChanged?: boolean | undefined;
496
+ subscribe?: boolean | undefined;
497
+ }, {
498
+ listChanged?: boolean | undefined;
499
+ subscribe?: boolean | undefined;
500
+ }>>;
501
+ logging: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
502
+ completions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
503
+ experimental: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
504
+ }, "strip", z.ZodTypeAny, {
505
+ tools?: {
506
+ listChanged?: boolean | undefined;
507
+ } | undefined;
508
+ prompts?: {
509
+ listChanged?: boolean | undefined;
510
+ } | undefined;
511
+ resources?: {
512
+ listChanged?: boolean | undefined;
513
+ subscribe?: boolean | undefined;
514
+ } | undefined;
515
+ logging?: Record<string, unknown> | undefined;
516
+ completions?: Record<string, unknown> | undefined;
517
+ experimental?: Record<string, unknown> | undefined;
518
+ }, {
519
+ tools?: {
520
+ listChanged?: boolean | undefined;
521
+ } | undefined;
522
+ prompts?: {
523
+ listChanged?: boolean | undefined;
524
+ } | undefined;
525
+ resources?: {
526
+ listChanged?: boolean | undefined;
527
+ subscribe?: boolean | undefined;
528
+ } | undefined;
529
+ logging?: Record<string, unknown> | undefined;
530
+ completions?: Record<string, unknown> | undefined;
531
+ experimental?: Record<string, unknown> | undefined;
532
+ }>>;
533
+ requires: z.ZodOptional<z.ZodObject<{
534
+ sampling: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
535
+ roots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
536
+ elicitation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
537
+ experimental: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
538
+ }, "strip", z.ZodTypeAny, {
539
+ experimental?: Record<string, unknown> | undefined;
540
+ sampling?: Record<string, unknown> | undefined;
541
+ roots?: Record<string, unknown> | undefined;
542
+ elicitation?: Record<string, unknown> | undefined;
543
+ }, {
544
+ experimental?: Record<string, unknown> | undefined;
545
+ sampling?: Record<string, unknown> | undefined;
546
+ roots?: Record<string, unknown> | undefined;
547
+ elicitation?: Record<string, unknown> | undefined;
548
+ }>>;
549
+ authentication: z.ZodOptional<z.ZodObject<{
550
+ required: z.ZodBoolean;
551
+ schemes: z.ZodArray<z.ZodString, "many">;
552
+ }, "strip", z.ZodTypeAny, {
553
+ required: boolean;
554
+ schemes: string[];
555
+ }, {
556
+ required: boolean;
557
+ schemes: string[];
558
+ }>>;
559
+ instructions: z.ZodOptional<z.ZodString>;
560
+ resources: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"dynamic">, z.ZodArray<z.ZodObject<{
561
+ name: z.ZodString;
562
+ title: z.ZodOptional<z.ZodString>;
563
+ uri: z.ZodString;
564
+ description: z.ZodOptional<z.ZodString>;
565
+ mimeType: z.ZodOptional<z.ZodString>;
566
+ }, "strip", z.ZodTypeAny, {
567
+ name: string;
568
+ uri: string;
569
+ title?: string | undefined;
570
+ description?: string | undefined;
571
+ mimeType?: string | undefined;
572
+ }, {
573
+ name: string;
574
+ uri: string;
575
+ title?: string | undefined;
576
+ description?: string | undefined;
577
+ mimeType?: string | undefined;
578
+ }>, "many">]>>;
579
+ tools: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"dynamic">, z.ZodArray<z.ZodObject<{
580
+ name: z.ZodString;
581
+ title: z.ZodOptional<z.ZodString>;
582
+ description: z.ZodOptional<z.ZodString>;
583
+ inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ name: string;
586
+ title?: string | undefined;
587
+ description?: string | undefined;
588
+ inputSchema?: Record<string, unknown> | undefined;
589
+ }, {
590
+ name: string;
591
+ title?: string | undefined;
592
+ description?: string | undefined;
593
+ inputSchema?: Record<string, unknown> | undefined;
594
+ }>, "many">]>>;
595
+ prompts: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"dynamic">, z.ZodArray<z.ZodObject<{
596
+ name: z.ZodString;
597
+ title: z.ZodOptional<z.ZodString>;
598
+ description: z.ZodOptional<z.ZodString>;
599
+ arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
600
+ name: z.ZodString;
601
+ description: z.ZodOptional<z.ZodString>;
602
+ required: z.ZodOptional<z.ZodBoolean>;
603
+ }, "strip", z.ZodTypeAny, {
604
+ name: string;
605
+ required?: boolean | undefined;
606
+ description?: string | undefined;
607
+ }, {
608
+ name: string;
609
+ required?: boolean | undefined;
610
+ description?: string | undefined;
611
+ }>, "many">>;
612
+ }, "strip", z.ZodTypeAny, {
613
+ name: string;
614
+ title?: string | undefined;
615
+ description?: string | undefined;
616
+ arguments?: {
617
+ name: string;
618
+ required?: boolean | undefined;
619
+ description?: string | undefined;
620
+ }[] | undefined;
621
+ }, {
622
+ name: string;
623
+ title?: string | undefined;
624
+ description?: string | undefined;
625
+ arguments?: {
626
+ name: string;
627
+ required?: boolean | undefined;
628
+ description?: string | undefined;
629
+ }[] | undefined;
630
+ }>, "many">]>>;
631
+ _meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
632
+ }, "strip", z.ZodTypeAny, {
633
+ version: string;
634
+ protocolVersion: string;
635
+ serverInfo: {
636
+ name: string;
637
+ version: string;
638
+ title?: string | undefined;
639
+ };
640
+ transport: {
641
+ type: "streamable-http" | "sse" | "stdio";
642
+ endpoint: string;
643
+ };
644
+ capabilities?: {
645
+ tools?: {
646
+ listChanged?: boolean | undefined;
647
+ } | undefined;
648
+ prompts?: {
649
+ listChanged?: boolean | undefined;
650
+ } | undefined;
651
+ resources?: {
652
+ listChanged?: boolean | undefined;
653
+ subscribe?: boolean | undefined;
654
+ } | undefined;
655
+ logging?: Record<string, unknown> | undefined;
656
+ completions?: Record<string, unknown> | undefined;
657
+ experimental?: Record<string, unknown> | undefined;
658
+ } | undefined;
659
+ $schema?: string | undefined;
660
+ tools?: "dynamic" | {
661
+ name: string;
662
+ title?: string | undefined;
663
+ description?: string | undefined;
664
+ inputSchema?: Record<string, unknown> | undefined;
665
+ }[] | undefined;
666
+ description?: string | undefined;
667
+ authentication?: {
668
+ required: boolean;
669
+ schemes: string[];
670
+ } | undefined;
671
+ instructions?: string | undefined;
672
+ iconUrl?: string | undefined;
673
+ documentationUrl?: string | undefined;
674
+ prompts?: "dynamic" | {
675
+ name: string;
676
+ title?: string | undefined;
677
+ description?: string | undefined;
678
+ arguments?: {
679
+ name: string;
680
+ required?: boolean | undefined;
681
+ description?: string | undefined;
682
+ }[] | undefined;
683
+ }[] | undefined;
684
+ resources?: "dynamic" | {
685
+ name: string;
686
+ uri: string;
687
+ title?: string | undefined;
688
+ description?: string | undefined;
689
+ mimeType?: string | undefined;
690
+ }[] | undefined;
691
+ requires?: {
692
+ experimental?: Record<string, unknown> | undefined;
693
+ sampling?: Record<string, unknown> | undefined;
694
+ roots?: Record<string, unknown> | undefined;
695
+ elicitation?: Record<string, unknown> | undefined;
696
+ } | undefined;
697
+ _meta?: Record<string, unknown> | undefined;
698
+ }, {
699
+ version: string;
700
+ protocolVersion: string;
701
+ serverInfo: {
702
+ name: string;
703
+ version: string;
704
+ title?: string | undefined;
705
+ };
706
+ transport: {
707
+ type: "streamable-http" | "sse" | "stdio";
708
+ endpoint: string;
709
+ };
710
+ capabilities?: {
711
+ tools?: {
712
+ listChanged?: boolean | undefined;
713
+ } | undefined;
714
+ prompts?: {
715
+ listChanged?: boolean | undefined;
716
+ } | undefined;
717
+ resources?: {
718
+ listChanged?: boolean | undefined;
719
+ subscribe?: boolean | undefined;
720
+ } | undefined;
721
+ logging?: Record<string, unknown> | undefined;
722
+ completions?: Record<string, unknown> | undefined;
723
+ experimental?: Record<string, unknown> | undefined;
724
+ } | undefined;
725
+ $schema?: string | undefined;
726
+ tools?: "dynamic" | {
727
+ name: string;
728
+ title?: string | undefined;
729
+ description?: string | undefined;
730
+ inputSchema?: Record<string, unknown> | undefined;
731
+ }[] | undefined;
732
+ description?: string | undefined;
733
+ authentication?: {
734
+ required: boolean;
735
+ schemes: string[];
736
+ } | undefined;
737
+ instructions?: string | undefined;
738
+ iconUrl?: string | undefined;
739
+ documentationUrl?: string | undefined;
740
+ prompts?: "dynamic" | {
741
+ name: string;
742
+ title?: string | undefined;
743
+ description?: string | undefined;
744
+ arguments?: {
745
+ name: string;
746
+ required?: boolean | undefined;
747
+ description?: string | undefined;
748
+ }[] | undefined;
749
+ }[] | undefined;
750
+ resources?: "dynamic" | {
751
+ name: string;
752
+ uri: string;
753
+ title?: string | undefined;
754
+ description?: string | undefined;
755
+ mimeType?: string | undefined;
756
+ }[] | undefined;
757
+ requires?: {
758
+ experimental?: Record<string, unknown> | undefined;
759
+ sampling?: Record<string, unknown> | undefined;
760
+ roots?: Record<string, unknown> | undefined;
761
+ elicitation?: Record<string, unknown> | undefined;
762
+ } | undefined;
763
+ _meta?: Record<string, unknown> | undefined;
764
+ }>;
765
+ /** Legacy MCP Server Config Schema */
766
+ export declare const MCPServerConfigSchema: z.ZodObject<{
767
+ name: z.ZodString;
768
+ description: z.ZodOptional<z.ZodString>;
769
+ url: z.ZodString;
770
+ transport: z.ZodEnum<["sse", "stdio", "http"]>;
771
+ version: z.ZodOptional<z.ZodString>;
772
+ agentDid: z.ZodOptional<z.ZodString>;
773
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
774
+ requiresAuth: z.ZodOptional<z.ZodBoolean>;
775
+ authProvider: z.ZodOptional<z.ZodString>;
776
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
777
+ }, "strip", z.ZodTypeAny, {
778
+ name: string;
779
+ url: string;
780
+ transport: "sse" | "stdio" | "http";
781
+ version?: string | undefined;
782
+ metadata?: Record<string, unknown> | undefined;
783
+ capabilities?: string[] | undefined;
784
+ agentDid?: string | undefined;
785
+ description?: string | undefined;
786
+ requiresAuth?: boolean | undefined;
787
+ authProvider?: string | undefined;
788
+ }, {
789
+ name: string;
790
+ url: string;
791
+ transport: "sse" | "stdio" | "http";
792
+ version?: string | undefined;
793
+ metadata?: Record<string, unknown> | undefined;
794
+ capabilities?: string[] | undefined;
795
+ agentDid?: string | undefined;
796
+ description?: string | undefined;
797
+ requiresAuth?: boolean | undefined;
798
+ authProvider?: string | undefined;
799
+ }>;
800
+ /** MCP Client Config Schema */
801
+ export declare const MCPClientConfigSchema: z.ZodObject<{
802
+ claudeDesktop: z.ZodObject<{
803
+ mcpServers: z.ZodRecord<z.ZodString, z.ZodObject<{
804
+ url: z.ZodString;
805
+ transport: z.ZodOptional<z.ZodLiteral<"sse">>;
806
+ }, "strip", z.ZodTypeAny, {
807
+ url: string;
808
+ transport?: "sse" | undefined;
809
+ }, {
810
+ url: string;
811
+ transport?: "sse" | undefined;
812
+ }>>;
813
+ }, "strip", z.ZodTypeAny, {
814
+ mcpServers: Record<string, {
815
+ url: string;
816
+ transport?: "sse" | undefined;
817
+ }>;
818
+ }, {
819
+ mcpServers: Record<string, {
820
+ url: string;
821
+ transport?: "sse" | undefined;
822
+ }>;
823
+ }>;
824
+ cursor: z.ZodObject<{
825
+ mcpServers: z.ZodRecord<z.ZodString, z.ZodObject<{
826
+ url: z.ZodString;
827
+ transport: z.ZodOptional<z.ZodLiteral<"sse">>;
828
+ }, "strip", z.ZodTypeAny, {
829
+ url: string;
830
+ transport?: "sse" | undefined;
831
+ }, {
832
+ url: string;
833
+ transport?: "sse" | undefined;
834
+ }>>;
835
+ }, "strip", z.ZodTypeAny, {
836
+ mcpServers: Record<string, {
837
+ url: string;
838
+ transport?: "sse" | undefined;
839
+ }>;
840
+ }, {
841
+ mcpServers: Record<string, {
842
+ url: string;
843
+ transport?: "sse" | undefined;
844
+ }>;
845
+ }>;
846
+ cursorDeepLink: z.ZodOptional<z.ZodString>;
847
+ _meta: z.ZodOptional<z.ZodObject<{
848
+ serverName: z.ZodOptional<z.ZodString>;
849
+ serverUrl: z.ZodOptional<z.ZodString>;
850
+ mcpEndpoint: z.ZodOptional<z.ZodString>;
851
+ agentDid: z.ZodOptional<z.ZodString>;
852
+ generatedAt: z.ZodOptional<z.ZodNumber>;
853
+ instructions: z.ZodOptional<z.ZodString>;
854
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
855
+ serverName: z.ZodOptional<z.ZodString>;
856
+ serverUrl: z.ZodOptional<z.ZodString>;
857
+ mcpEndpoint: z.ZodOptional<z.ZodString>;
858
+ agentDid: z.ZodOptional<z.ZodString>;
859
+ generatedAt: z.ZodOptional<z.ZodNumber>;
860
+ instructions: z.ZodOptional<z.ZodString>;
861
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
862
+ serverName: z.ZodOptional<z.ZodString>;
863
+ serverUrl: z.ZodOptional<z.ZodString>;
864
+ mcpEndpoint: z.ZodOptional<z.ZodString>;
865
+ agentDid: z.ZodOptional<z.ZodString>;
866
+ generatedAt: z.ZodOptional<z.ZodNumber>;
867
+ instructions: z.ZodOptional<z.ZodString>;
868
+ }, z.ZodUnknown, "strip">>>;
869
+ }, "strip", z.ZodTypeAny, {
870
+ claudeDesktop: {
871
+ mcpServers: Record<string, {
872
+ url: string;
873
+ transport?: "sse" | undefined;
874
+ }>;
875
+ };
876
+ cursor: {
877
+ mcpServers: Record<string, {
878
+ url: string;
879
+ transport?: "sse" | undefined;
880
+ }>;
881
+ };
882
+ _meta?: z.objectOutputType<{
883
+ serverName: z.ZodOptional<z.ZodString>;
884
+ serverUrl: z.ZodOptional<z.ZodString>;
885
+ mcpEndpoint: z.ZodOptional<z.ZodString>;
886
+ agentDid: z.ZodOptional<z.ZodString>;
887
+ generatedAt: z.ZodOptional<z.ZodNumber>;
888
+ instructions: z.ZodOptional<z.ZodString>;
889
+ }, z.ZodUnknown, "strip"> | undefined;
890
+ cursorDeepLink?: string | undefined;
891
+ }, {
892
+ claudeDesktop: {
893
+ mcpServers: Record<string, {
894
+ url: string;
895
+ transport?: "sse" | undefined;
896
+ }>;
897
+ };
898
+ cursor: {
899
+ mcpServers: Record<string, {
900
+ url: string;
901
+ transport?: "sse" | undefined;
902
+ }>;
903
+ };
904
+ _meta?: z.objectInputType<{
905
+ serverName: z.ZodOptional<z.ZodString>;
906
+ serverUrl: z.ZodOptional<z.ZodString>;
907
+ mcpEndpoint: z.ZodOptional<z.ZodString>;
908
+ agentDid: z.ZodOptional<z.ZodString>;
909
+ generatedAt: z.ZodOptional<z.ZodNumber>;
910
+ instructions: z.ZodOptional<z.ZodString>;
911
+ }, z.ZodUnknown, "strip"> | undefined;
912
+ cursorDeepLink?: string | undefined;
913
+ }>;
260
914
  export declare const WellKnownConfigSchema: z.ZodObject<{
261
915
  serviceName: z.ZodOptional<z.ZodString>;
916
+ serviceTitle: z.ZodOptional<z.ZodString>;
262
917
  serviceEndpoint: z.ZodOptional<z.ZodString>;
918
+ description: z.ZodOptional<z.ZodString>;
919
+ serverVersion: z.ZodOptional<z.ZodString>;
920
+ protocolVersion: z.ZodOptional<z.ZodString>;
921
+ iconUrl: z.ZodOptional<z.ZodString>;
922
+ documentationUrl: z.ZodOptional<z.ZodString>;
923
+ requiresAuth: z.ZodOptional<z.ZodBoolean>;
924
+ authSchemes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
925
+ instructions: z.ZodOptional<z.ZodString>;
263
926
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
264
927
  }, "strip", z.ZodTypeAny, {
265
928
  metadata?: Record<string, unknown> | undefined;
929
+ protocolVersion?: string | undefined;
930
+ description?: string | undefined;
266
931
  serviceEndpoint?: string | undefined;
932
+ instructions?: string | undefined;
267
933
  serviceName?: string | undefined;
934
+ iconUrl?: string | undefined;
935
+ documentationUrl?: string | undefined;
936
+ requiresAuth?: boolean | undefined;
937
+ serviceTitle?: string | undefined;
938
+ serverVersion?: string | undefined;
939
+ authSchemes?: string[] | undefined;
268
940
  }, {
269
941
  metadata?: Record<string, unknown> | undefined;
942
+ protocolVersion?: string | undefined;
943
+ description?: string | undefined;
270
944
  serviceEndpoint?: string | undefined;
945
+ instructions?: string | undefined;
271
946
  serviceName?: string | undefined;
947
+ iconUrl?: string | undefined;
948
+ documentationUrl?: string | undefined;
949
+ requiresAuth?: boolean | undefined;
950
+ serviceTitle?: string | undefined;
951
+ serverVersion?: string | undefined;
952
+ authSchemes?: string[] | undefined;
272
953
  }>;
273
954
  export declare const WellKnownResponseSchema: z.ZodObject<{
274
955
  status: z.ZodNumber;
@@ -306,3 +987,27 @@ export declare function isWellKnownPath(path: string): boolean;
306
987
  * Get the content type for a well-known endpoint
307
988
  */
308
989
  export declare function getWellKnownContentType(path: WellKnownPath | string): string;
990
+ /**
991
+ * Type guard for MCPServerCard (SEP-1649)
992
+ */
993
+ export declare function isMCPServerCard(obj: any): obj is MCPServerCard;
994
+ /**
995
+ * Validation function for MCPServerCard (SEP-1649)
996
+ */
997
+ export declare function validateMCPServerCard(obj: any): MCPServerCard;
998
+ /**
999
+ * Type guard for MCPServerConfig (legacy)
1000
+ */
1001
+ export declare function isMCPServerConfig(obj: any): obj is MCPServerConfig;
1002
+ /**
1003
+ * Validation function for MCPServerConfig (legacy)
1004
+ */
1005
+ export declare function validateMCPServerConfig(obj: any): MCPServerConfig;
1006
+ /**
1007
+ * Type guard for MCPClientConfig
1008
+ */
1009
+ export declare function isMCPClientConfig(obj: any): obj is MCPClientConfig;
1010
+ /**
1011
+ * Validation function for MCPClientConfig
1012
+ */
1013
+ export declare function validateMCPClientConfig(obj: any): MCPClientConfig;