Skip to content

Commit f33ddb2

Browse files
authored
Prep v0.5.1 (#14)
1 parent e683712 commit f33ddb2

File tree

6 files changed

+97
-7
lines changed

6 files changed

+97
-7
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 0.5.1 (2025-10-24)
4+
5+
- Add ability for agents and clients to provide information about their implementation
6+
- Fix incorrectly serialized `_meta` field on `SetSessionModeResponse
7+
38
## 0.5.0 (2025-10-24)
49

510
- Provide access to an `AbortSignal` and `closed` promise on connections so you can wait for the connection to close and handle any other cleanup tasks you need for a graceful shutdown. https://github.com/agentclientprotocol/typescript-sdk/pull/11

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@agentclientprotocol/sdk",
3-
"version": "0.5.0",
3+
"version": "0.5.1",
44
"publishConfig": {
55
"access": "public"
66
},

schema/schema.json

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,25 @@
958958
"required": ["name", "value"],
959959
"type": "object"
960960
},
961+
"Implementation": {
962+
"description": "Describes the name and version of an MCP implementation, with an optional\ntitle for UI representation.",
963+
"properties": {
964+
"name": {
965+
"description": "Intended for programmatic or logical use, but can be used as a display\nname fallback if title isn’t present.",
966+
"type": "string"
967+
},
968+
"title": {
969+
"description": "Intended for UI and end-user contexts — optimized to be human-readable\nand easily understood.\n\nIf not provided, the name should be used for display.",
970+
"type": ["string", "null"]
971+
},
972+
"version": {
973+
"description": "Version of the implementation. Can be displayed to the user or used\nfor debugging or metrics purposes.",
974+
"type": "string"
975+
}
976+
},
977+
"required": ["name", "version"],
978+
"type": "object"
979+
},
961980
"InitializeRequest": {
962981
"description": "Request parameters for the initialize method.\n\nSent by the client to establish connection and negotiate capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)",
963982
"properties": {
@@ -975,6 +994,17 @@
975994
},
976995
"description": "Capabilities supported by the client."
977996
},
997+
"clientInfo": {
998+
"anyOf": [
999+
{
1000+
"$ref": "#/$defs/Implementation"
1001+
},
1002+
{
1003+
"type": "null"
1004+
}
1005+
],
1006+
"description": "Information about the Client name and version sent to the Agent.\n\nNote: in future versions of the protocol, this will be required."
1007+
},
9781008
"protocolVersion": {
9791009
"$ref": "#/$defs/ProtocolVersion",
9801010
"description": "The latest protocol version supported by the client."
@@ -1007,6 +1037,17 @@
10071037
},
10081038
"description": "Capabilities supported by the agent."
10091039
},
1040+
"agentInfo": {
1041+
"anyOf": [
1042+
{
1043+
"$ref": "#/$defs/Implementation"
1044+
},
1045+
{
1046+
"type": "null"
1047+
}
1048+
],
1049+
"description": "Information about the Agent name and version sent to the Client.\n\nNote: in future versions of the protocol, this will be required."
1050+
},
10101051
"authMethods": {
10111052
"default": [],
10121053
"description": "Authentication methods supported by the agent.",
@@ -2050,7 +2091,7 @@
20502091
"SetSessionModeResponse": {
20512092
"description": "Response to `session/set_mode` method.",
20522093
"properties": {
2053-
"meta": true
2094+
"_meta": true
20542095
},
20552096
"type": "object",
20562097
"x-method": "session/set_mode",

scripts/generate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { generate } from "ts-to-zod";
55
import * as fs from "fs/promises";
66
import { dirname } from "path";
77

8-
const CURRENT_SCHEMA_RELEASE = "v0.5.0";
8+
const CURRENT_SCHEMA_RELEASE = "v0.6.2";
99

1010
await downloadSchemas(CURRENT_SCHEMA_RELEASE);
1111

src/schema.ts

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,12 @@ export interface InitializeResponse {
870870
[k: string]: unknown;
871871
};
872872
agentCapabilities?: AgentCapabilities;
873+
/**
874+
* Information about the Agent name and version sent to the Client.
875+
*
876+
* Note: in future versions of the protocol, this will be required.
877+
*/
878+
agentInfo?: Implementation | null;
873879
/**
874880
* Authentication methods supported by the agent.
875881
*/
@@ -944,6 +950,29 @@ export interface PromptCapabilities {
944950
*/
945951
image?: boolean;
946952
}
953+
/**
954+
* Describes the name and version of an MCP implementation, with an optional
955+
* title for UI representation.
956+
*/
957+
export interface Implementation {
958+
/**
959+
* Intended for programmatic or logical use, but can be used as a display
960+
* name fallback if title isn’t present.
961+
*/
962+
name: string;
963+
/**
964+
* Intended for UI and end-user contexts — optimized to be human-readable
965+
* and easily understood.
966+
*
967+
* If not provided, the name should be used for display.
968+
*/
969+
title?: string | null;
970+
/**
971+
* Version of the implementation. Can be displayed to the user or used
972+
* for debugging or metrics purposes.
973+
*/
974+
version: string;
975+
}
947976
/**
948977
* Describes an available authentication method.
949978
*/
@@ -1125,7 +1154,7 @@ export interface LoadSessionResponse {
11251154
* Response to `session/set_mode` method.
11261155
*/
11271156
export interface SetSessionModeResponse {
1128-
meta?: unknown;
1157+
_meta?: unknown;
11291158
}
11301159
/**
11311160
* Response from processing a user prompt.
@@ -1707,6 +1736,12 @@ export interface InitializeRequest {
17071736
[k: string]: unknown;
17081737
};
17091738
clientCapabilities?: ClientCapabilities;
1739+
/**
1740+
* Information about the Client name and version sent to the Agent.
1741+
*
1742+
* Note: in future versions of the protocol, this will be required.
1743+
*/
1744+
clientInfo?: Implementation | null;
17101745
/**
17111746
* The latest protocol version supported by the client.
17121747
*/
@@ -2284,7 +2319,7 @@ export const authenticateResponseSchema = z.object({
22842319

22852320
/** @internal */
22862321
export const setSessionModeResponseSchema = z.object({
2287-
meta: z.unknown().optional(),
2322+
_meta: z.unknown().optional(),
22882323
});
22892324

22902325
/** @internal */
@@ -2516,6 +2551,13 @@ export const envVariableSchema = z.object({
25162551
value: z.string(),
25172552
});
25182553

2554+
/** @internal */
2555+
export const implementationSchema = z.object({
2556+
name: z.string(),
2557+
title: z.string().optional().nullable(),
2558+
version: z.string(),
2559+
});
2560+
25192561
/** @internal */
25202562
export const authMethodSchema = z.object({
25212563
_meta: z.record(z.unknown()).optional(),
@@ -2798,6 +2840,7 @@ export const requestSchema = z.object({
27982840
export const initializeResponseSchema = z.object({
27992841
_meta: z.record(z.unknown()).optional(),
28002842
agentCapabilities: agentCapabilitiesSchema.optional(),
2843+
agentInfo: implementationSchema.optional().nullable(),
28012844
authMethods: z.array(authMethodSchema).optional(),
28022845
protocolVersion: z.number(),
28032846
});
@@ -3005,6 +3048,7 @@ export const sessionNotificationSchema = z.object({
30053048
export const initializeRequestSchema = z.object({
30063049
_meta: z.record(z.unknown()).optional(),
30073050
clientCapabilities: clientCapabilitiesSchema.optional(),
3051+
clientInfo: implementationSchema.optional().nullable(),
30083052
protocolVersion: z.number(),
30093053
});
30103054

0 commit comments

Comments
 (0)