From 6e3211a6cc94fc7e951d79818b3fa021787e6943 Mon Sep 17 00:00:00 2001 From: evalstate <1936278+evalstate@users.noreply.github.com> Date: Fri, 25 Apr 2025 10:45:06 +0100 Subject: [PATCH 1/6] update wording for use of embedded resources within tools --- docs/specification/2025-03-26/server/tools.mdx | 4 ++-- docs/specification/draft/server/tools.mdx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/specification/2025-03-26/server/tools.mdx b/docs/specification/2025-03-26/server/tools.mdx index fe97f2112..6d39a3558 100644 --- a/docs/specification/2025-03-26/server/tools.mdx +++ b/docs/specification/2025-03-26/server/tools.mdx @@ -221,8 +221,8 @@ Tool results can contain multiple content items of different types: #### Embedded Resources -[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded, to provide additional context -or data, behind a URI that can be subscribed to or fetched again by the client later: +[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded to provide additional context +or data using a suitable [URI scheme](./resources#common-uri-schemes). Servers that use embedded resources **SHOULD** implement the `resources` capability: ```json { diff --git a/docs/specification/draft/server/tools.mdx b/docs/specification/draft/server/tools.mdx index 075550b2a..537c09970 100644 --- a/docs/specification/draft/server/tools.mdx +++ b/docs/specification/draft/server/tools.mdx @@ -221,8 +221,8 @@ Tool results can contain multiple content items of different types: #### Embedded Resources -[Resources](/specification/draft/server/resources) **MAY** be embedded, to provide additional context -or data, behind a URI that can be subscribed to or fetched again by the client later: +[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded to provide additional context +or data using a suitable [URI scheme](./resources#common-uri-schemes). Servers that use embedded resources **SHOULD** implement the `resources` capability: ```json { From 724184bf85ab8faec2287aa361bc135cb4a4b6e3 Mon Sep 17 00:00:00 2001 From: evalstate <1936278+evalstate@users.noreply.github.com> Date: Fri, 25 Apr 2025 11:36:17 +0100 Subject: [PATCH 2/6] make Resources links relative --- docs/specification/2025-03-26/server/tools.mdx | 2 +- docs/specification/draft/server/tools.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/specification/2025-03-26/server/tools.mdx b/docs/specification/2025-03-26/server/tools.mdx index 6d39a3558..308c1c266 100644 --- a/docs/specification/2025-03-26/server/tools.mdx +++ b/docs/specification/2025-03-26/server/tools.mdx @@ -221,7 +221,7 @@ Tool results can contain multiple content items of different types: #### Embedded Resources -[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded to provide additional context +[Resources](resources) **MAY** be embedded to provide additional context or data using a suitable [URI scheme](./resources#common-uri-schemes). Servers that use embedded resources **SHOULD** implement the `resources` capability: ```json diff --git a/docs/specification/draft/server/tools.mdx b/docs/specification/draft/server/tools.mdx index 537c09970..c858d80dc 100644 --- a/docs/specification/draft/server/tools.mdx +++ b/docs/specification/draft/server/tools.mdx @@ -221,7 +221,7 @@ Tool results can contain multiple content items of different types: #### Embedded Resources -[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded to provide additional context +[Resources](resources) **MAY** be embedded to provide additional context or data using a suitable [URI scheme](./resources#common-uri-schemes). Servers that use embedded resources **SHOULD** implement the `resources` capability: ```json From 968f09f618dc6c7fe71dc09cc21175c875b014ac Mon Sep 17 00:00:00 2001 From: evalstate <1936278+evalstate@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:51:40 +0100 Subject: [PATCH 3/6] Added extra note on Custom URI schemes in resources section (as URI link at top is not obvious). --- docs/specification/2025-03-26/server/resources.mdx | 5 +++++ docs/specification/draft/server/resources.mdx | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/docs/specification/2025-03-26/server/resources.mdx b/docs/specification/2025-03-26/server/resources.mdx index b95522d0b..1c18bb2a4 100644 --- a/docs/specification/2025-03-26/server/resources.mdx +++ b/docs/specification/2025-03-26/server/resources.mdx @@ -324,6 +324,11 @@ otherwise have a standard MIME type. Git version control integration. +### Custom URI Schemes + +Custom URI schemes SHOULD be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), +taking the above guidance in to account. + ## Error Handling Servers **SHOULD** return standard JSON-RPC errors for common failure cases: diff --git a/docs/specification/draft/server/resources.mdx b/docs/specification/draft/server/resources.mdx index cf7f386b2..ac1f3e836 100644 --- a/docs/specification/draft/server/resources.mdx +++ b/docs/specification/draft/server/resources.mdx @@ -324,6 +324,11 @@ otherwise have a standard MIME type. Git version control integration. +### Custom URI Schemes + +Custom URI schemes SHOULD be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), +taking the above guidance in to account. + ## Error Handling Servers **SHOULD** return standard JSON-RPC errors for common failure cases: From a63672f365dfee6a7fc2a9a82adffeafa5f5f990 Mon Sep 17 00:00:00 2001 From: shaun smith <1936278+evalstate@users.noreply.github.com> Date: Thu, 8 May 2025 15:06:12 +0100 Subject: [PATCH 4/6] Update docs/specification/draft/server/resources.mdx good catch :) Co-authored-by: Eduardo San Martin Morote --- docs/specification/draft/server/resources.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/specification/draft/server/resources.mdx b/docs/specification/draft/server/resources.mdx index ac1f3e836..872b2d125 100644 --- a/docs/specification/draft/server/resources.mdx +++ b/docs/specification/draft/server/resources.mdx @@ -326,7 +326,7 @@ Git version control integration. ### Custom URI Schemes -Custom URI schemes SHOULD be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), +Custom URI schemes **SHOULD** be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), taking the above guidance in to account. ## Error Handling From 14d89133727c5c5d3a13eba370a3952c8b4c759b Mon Sep 17 00:00:00 2001 From: evalstate <1936278+evalstate@users.noreply.github.com> Date: Tue, 10 Jun 2025 22:05:42 +0100 Subject: [PATCH 5/6] revert language in existing spec, update guidance to MUST for RFC3986 compliance --- docs/specification/2025-03-26/server/resources.mdx | 7 +------ docs/specification/2025-03-26/server/tools.mdx | 14 ++++++++++---- docs/specification/draft/server/resources.mdx | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/specification/2025-03-26/server/resources.mdx b/docs/specification/2025-03-26/server/resources.mdx index 1c18bb2a4..79ce30a0f 100644 --- a/docs/specification/2025-03-26/server/resources.mdx +++ b/docs/specification/2025-03-26/server/resources.mdx @@ -21,7 +21,7 @@ For example, applications could: - Allow the user to search through and filter available resources - Implement automatic context inclusion, based on heuristics or the AI model's selection -![Example of resource context picker](resource-picker.png) +![Example of resource context picker](/specification/2025-03-26/server/resource-picker.png) However, implementations are free to expose resources through any interface pattern that suits their needs—the protocol itself does not mandate any specific user @@ -324,11 +324,6 @@ otherwise have a standard MIME type. Git version control integration. -### Custom URI Schemes - -Custom URI schemes SHOULD be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), -taking the above guidance in to account. - ## Error Handling Servers **SHOULD** return standard JSON-RPC errors for common failure cases: diff --git a/docs/specification/2025-03-26/server/tools.mdx b/docs/specification/2025-03-26/server/tools.mdx index 308c1c266..e59b14180 100644 --- a/docs/specification/2025-03-26/server/tools.mdx +++ b/docs/specification/2025-03-26/server/tools.mdx @@ -20,6 +20,7 @@ suits their needs—the protocol itself does not mandate any specific user interaction model. + For trust & safety and security, there **SHOULD** always be a human in the loop with the ability to deny tool invocations. @@ -29,6 +30,7 @@ Applications **SHOULD**: - Insert clear visual indicators when tools are invoked - Present confirmation prompts to the user for operations, to ensure a human is in the loop + ## Capabilities @@ -183,8 +185,12 @@ A tool definition includes: - `inputSchema`: JSON Schema defining expected parameters - `annotations`: optional properties describing tool behavior -For trust & safety and security, clients **MUST** consider -tool annotations to be untrusted unless they come from trusted servers. + + +For trust & safety and security, clients **MUST** consider +tool annotations to be untrusted unless they come from trusted servers. + + ### Tool Result @@ -221,8 +227,8 @@ Tool results can contain multiple content items of different types: #### Embedded Resources -[Resources](resources) **MAY** be embedded to provide additional context -or data using a suitable [URI scheme](./resources#common-uri-schemes). Servers that use embedded resources **SHOULD** implement the `resources` capability: +[Resources](/specification/2025-03-26/server/resources) **MAY** be embedded, to provide additional context +or data, behind a URI that can be subscribed to or fetched again by the client later: ```json { diff --git a/docs/specification/draft/server/resources.mdx b/docs/specification/draft/server/resources.mdx index 872b2d125..e4b962fd3 100644 --- a/docs/specification/draft/server/resources.mdx +++ b/docs/specification/draft/server/resources.mdx @@ -326,7 +326,7 @@ Git version control integration. ### Custom URI Schemes -Custom URI schemes **SHOULD** be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), +Custom URI schemes **MUST** be in accordance with [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986), taking the above guidance in to account. ## Error Handling From 2d4d723a251f0a8e24795da17406b63eca90b299 Mon Sep 17 00:00:00 2001 From: evalstate <1936278+evalstate@users.noreply.github.com> Date: Tue, 10 Jun 2025 23:18:13 +0100 Subject: [PATCH 6/6] update to fix the recent merge of lastmodified in resource. --- schema/draft/schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/draft/schema.json b/schema/draft/schema.json index c10f1b964..9413b0247 100644 --- a/schema/draft/schema.json +++ b/schema/draft/schema.json @@ -12,8 +12,8 @@ "type": "array" }, "lastModified": { - "description": "The moment the resource was last modified, stored as a Unix epoch timestamp.\n\nValue is the number of **milliseconds** since 1970-01-01 00:00:00 UTC. \n(Use `Date.now()` in JS/TS, or `Math.floor(Date.now() / 1000)` if you prefer seconds.)\n\nExamples: last activity timestamp in an open file, timestamp when the resource\nwas attached, etc.", - "type": "integer" + "description": "The moment the resource was last modified, as an ISO 8601 formatted string.\n\nShould be an ISO 8601 formatted string (e.g., \"2025-01-12T15:00:58Z\").\n\nExamples: last activity timestamp in an open file, timestamp when the resource\nwas attached, etc.", + "type": "string" }, "priority": { "description": "Describes how important this data is for operating the server.\n\nA value of 1 means \"most important,\" and indicates that the data is\neffectively required, while 0 means \"least important,\" and indicates that\nthe data is entirely optional.",