@intangle/mcp-server 2.6.5 → 2.6.6

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.
@@ -39,7 +39,7 @@ const TOOL_DEFINITIONS = [
39
39
  {
40
40
  name: "fetch_items",
41
41
  title: "Fetch Items by ID",
42
- description: "Retrieve full content for specific items by ID. Accepts single ID or array of IDs.",
42
+ description: "Retrieve full content for specific items by ID, including `artifact_*` and `summary_*` ids. Artifact fetches return content plus render metadata and `config`/`state`/`data` when available.",
43
43
  inputSchema: {
44
44
  type: "object",
45
45
  properties: {
@@ -49,16 +49,17 @@ const TOOL_DEFINITIONS = [
49
49
  },
50
50
  id: {
51
51
  type: "string",
52
- description: "Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or 'skill_789')"
52
+ description: "Single ID to fetch (e.g. `mem_123`, `task_456`, `skill_789`, `doc_321`, `artifact_654`, or `summary_987`)."
53
53
  },
54
54
  ids: {
55
55
  type: "array",
56
56
  items: { type: "string" },
57
- description: "Array of IDs to fetch (mix of context, task, and skill IDs). Use this to fetch multiple items in one call."
57
+ description: "Array of IDs to fetch (mix of context, task, skill, document, artifact, insight, or conversation IDs). Use this to fetch multiple items in one call."
58
58
  }
59
59
  }
60
60
  }
61
61
  },
62
+ { name: "read_artifact", title: "Read Artifact", description: "Read one existing artifact by `artifact_id` without asking Tan to restream it in chat. Returns content plus render metadata and `config`/`state`/`data` when available. Prefer this when an external agent already has the artifact id and needs the current artifact payload directly.", inputSchema: { type: "object", properties: { space_id: { type: "string", description: "Optional: Space containing the artifact. Provide this for shared/org spaces so access checks resolve against the correct graph." }, artifact_id: { type: "string", description: "REQUIRED: Existing artifact ID to read (e.g. `artifact_123`)." }, item_id: { type: "string", description: "Optional alias for `artifact_id`." }, organization_id: { type: "string", description: "Optional Clerk org ID when the space belongs to an organization graph." } }, required: ["artifact_id"] } },
62
63
  {
63
64
  name: "usage_status",
64
65
  title: "Usage Status",
@@ -841,6 +842,7 @@ const TOOL_DEFINITIONS = [
841
842
  const READ_ONLY_TOOLS = new Set([
842
843
  "search",
843
844
  "fetch_items",
845
+ "read_artifact",
844
846
  "usage_status",
845
847
  "fetch_conversation_messages",
846
848
  "list_conversation_inbox",
@@ -856,6 +858,7 @@ const DESTRUCTIVE_TOOLS = new Set([
856
858
  const IDEMPOTENT_TOOLS = new Set([
857
859
  "search",
858
860
  "fetch_items",
861
+ "read_artifact",
859
862
  "usage_status",
860
863
  "fetch_conversation_messages",
861
864
  "list_conversation_inbox",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intangle/mcp-server",
3
- "version": "2.6.5",
3
+ "version": "2.6.6",
4
4
  "description": "Model Context Protocol server for Intangle - AI context that persists across conversations",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -46,7 +46,7 @@ const TOOL_DEFINITIONS = [
46
46
  name: "fetch_items",
47
47
  title: "Fetch Items by ID",
48
48
  description:
49
- "Retrieve full content for specific items by ID. Accepts single ID or array of IDs.",
49
+ "Retrieve full content for specific items by ID, including `artifact_*` and `summary_*` ids. Artifact fetches return content plus render metadata and `config`/`state`/`data` when available.",
50
50
  inputSchema: {
51
51
  type: "object",
52
52
  properties: {
@@ -58,17 +58,18 @@ const TOOL_DEFINITIONS = [
58
58
  id: {
59
59
  type: "string",
60
60
  description:
61
- "Single ID to fetch (context or task ID like 'mem_123' or 'task_456' or 'skill_789')"
61
+ "Single ID to fetch (e.g. `mem_123`, `task_456`, `skill_789`, `doc_321`, `artifact_654`, or `summary_987`)."
62
62
  },
63
63
  ids: {
64
64
  type: "array",
65
65
  items: { type: "string" },
66
66
  description:
67
- "Array of IDs to fetch (mix of context, task, and skill IDs). Use this to fetch multiple items in one call."
67
+ "Array of IDs to fetch (mix of context, task, skill, document, artifact, insight, or conversation IDs). Use this to fetch multiple items in one call."
68
68
  }
69
69
  }
70
70
  }
71
71
  },
72
+ { name: "read_artifact", title: "Read Artifact", description: "Read one existing artifact by `artifact_id` without asking Tan to restream it in chat. Returns content plus render metadata and `config`/`state`/`data` when available. Prefer this when an external agent already has the artifact id and needs the current artifact payload directly.", inputSchema: { type: "object", properties: { space_id: { type: "string", description: "Optional: Space containing the artifact. Provide this for shared/org spaces so access checks resolve against the correct graph." }, artifact_id: { type: "string", description: "REQUIRED: Existing artifact ID to read (e.g. `artifact_123`)." }, item_id: { type: "string", description: "Optional alias for `artifact_id`." }, organization_id: { type: "string", description: "Optional Clerk org ID when the space belongs to an organization graph." } }, required: ["artifact_id"] } },
72
73
  {
73
74
  name: "usage_status",
74
75
  title: "Usage Status",
@@ -941,6 +942,7 @@ const TOOL_DEFINITIONS = [
941
942
  const READ_ONLY_TOOLS = new Set([
942
943
  "search",
943
944
  "fetch_items",
945
+ "read_artifact",
944
946
  "usage_status",
945
947
  "fetch_conversation_messages",
946
948
  "list_conversation_inbox",
@@ -958,6 +960,7 @@ const DESTRUCTIVE_TOOLS = new Set([
958
960
  const IDEMPOTENT_TOOLS = new Set([
959
961
  "search",
960
962
  "fetch_items",
963
+ "read_artifact",
961
964
  "usage_status",
962
965
  "fetch_conversation_messages",
963
966
  "list_conversation_inbox",