@gethmy/mcp 2.13.3 → 2.13.4
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/dist/cli.js +10 -10
- package/dist/index.js +10 -10
- package/package.json +1 -1
- package/src/server.ts +10 -10
package/dist/cli.js
CHANGED
|
@@ -4008,7 +4008,7 @@ var TOOLS = {
|
|
|
4008
4008
|
}
|
|
4009
4009
|
},
|
|
4010
4010
|
harmony_upload_card_attachment: {
|
|
4011
|
-
description: "Upload a file attachment to a card
|
|
4011
|
+
description: "Upload a file attachment to a card. Provide `filePath` (local path the server reads, direct-to-storage — local/stdio mode) or `base64Data` (works everywhere, small-file fallback). Max 5MB; allowed: PNG, JPEG, GIF, WebP, HEIC/HEIF, PDF, DOC/DOCX, XLS/XLSX, TXT, CSV. Returns the attachment + a signed URL. Large files on the hosted MCP server: use harmony_request_card_attachment_upload_url + harmony_finalize_card_attachment instead.",
|
|
4012
4012
|
inputSchema: {
|
|
4013
4013
|
type: "object",
|
|
4014
4014
|
properties: {
|
|
@@ -4034,7 +4034,7 @@ var TOOLS = {
|
|
|
4034
4034
|
}
|
|
4035
4035
|
},
|
|
4036
4036
|
harmony_request_card_attachment_upload_url: {
|
|
4037
|
-
description: "Step 1 of the
|
|
4037
|
+
description: "Step 1 of the large-file / hosted-MCP upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL under the card. Returns { uploadUrl, token, storagePath, fileType }. Then PUT the raw bytes to uploadUrl (no bytes through the model context) and call harmony_finalize_card_attachment with storagePath. Max 5MB; same allowed types as harmony_upload_card_attachment.",
|
|
4038
4038
|
inputSchema: {
|
|
4039
4039
|
type: "object",
|
|
4040
4040
|
properties: {
|
|
@@ -4056,7 +4056,7 @@ var TOOLS = {
|
|
|
4056
4056
|
}
|
|
4057
4057
|
},
|
|
4058
4058
|
harmony_finalize_card_attachment: {
|
|
4059
|
-
description: "Step 2 of the
|
|
4059
|
+
description: "Step 2 of the upload handshake. After PUTting the bytes to the signed uploadUrl, call this with storagePath to validate and register the attachment. The server re-downloads the object and enforces size + an allowlisted content-type (magic-byte sniff, never the declared type) + an optional sha256 integrity check, deleting and failing on any mismatch. Returns the attachment + a signed URL.",
|
|
4060
4060
|
inputSchema: {
|
|
4061
4061
|
type: "object",
|
|
4062
4062
|
properties: {
|
|
@@ -4086,7 +4086,7 @@ var TOOLS = {
|
|
|
4086
4086
|
}
|
|
4087
4087
|
},
|
|
4088
4088
|
harmony_classify_card: {
|
|
4089
|
-
description: "Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10),
|
|
4089
|
+
description: "Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10), `model_tier` (simple/advanced/research), stamps `classified_at`, and applies the type label (feature/bug/idea). Call right after creating a card to classify it in-flow. Idempotent; never touches the user-owned `model_override`.",
|
|
4090
4090
|
inputSchema: {
|
|
4091
4091
|
type: "object",
|
|
4092
4092
|
properties: {
|
|
@@ -4096,7 +4096,7 @@ var TOOLS = {
|
|
|
4096
4096
|
}
|
|
4097
4097
|
},
|
|
4098
4098
|
harmony_upload_artifact: {
|
|
4099
|
-
description: "Host a self-contained HTML document (
|
|
4099
|
+
description: "Host a self-contained HTML document (design draft, diagram) and link it to a card, plan, or workspace; rendered in-app in a sandboxed iframe. Provide exactly one of cardId/planId/workspaceId, and the HTML as `filePath` (local, direct-to-storage) or `base64Data` (small-file fallback). text/html only, max 2MB. Returns the artifact + a signed URL; use harmony_share_artifact for a public link. Large files on the hosted MCP server: use harmony_request_artifact_upload_url + harmony_finalize_artifact instead.",
|
|
4100
4100
|
inputSchema: {
|
|
4101
4101
|
type: "object",
|
|
4102
4102
|
properties: {
|
|
@@ -4123,7 +4123,7 @@ var TOOLS = {
|
|
|
4123
4123
|
}
|
|
4124
4124
|
},
|
|
4125
4125
|
harmony_request_artifact_upload_url: {
|
|
4126
|
-
description: "Step 1 of the
|
|
4126
|
+
description: "Step 1 of the large-file / hosted-MCP artifact upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL. Provide exactly one of cardId/planId/workspaceId. Returns { uploadUrl, token, storagePath }. Then PUT the HTML bytes to uploadUrl and call harmony_finalize_artifact with storagePath. text/html only, max 2MB.",
|
|
4127
4127
|
inputSchema: {
|
|
4128
4128
|
type: "object",
|
|
4129
4129
|
properties: {
|
|
@@ -4150,7 +4150,7 @@ var TOOLS = {
|
|
|
4150
4150
|
}
|
|
4151
4151
|
},
|
|
4152
4152
|
harmony_finalize_artifact: {
|
|
4153
|
-
description: "Step 2 of the
|
|
4153
|
+
description: "Step 2 of the artifact upload handshake. After PUTting the HTML bytes to the signed uploadUrl, call this with storagePath to validate and register the artifact. The server re-downloads the object and enforces size + text/html (magic-byte sniff) + an optional sha256 integrity check, deleting and failing on any mismatch. Pass the same one of cardId/planId/workspaceId used for the upload URL. Returns the artifact + a signed URL; use harmony_share_artifact for a public link.",
|
|
4154
4154
|
inputSchema: {
|
|
4155
4155
|
type: "object",
|
|
4156
4156
|
properties: {
|
|
@@ -4255,7 +4255,7 @@ var TOOLS = {
|
|
|
4255
4255
|
}
|
|
4256
4256
|
},
|
|
4257
4257
|
harmony_add_comment: {
|
|
4258
|
-
description: "Post a comment on a card as the agent
|
|
4258
|
+
description: "Post a comment on a card as the agent — converse with the human in the open: report progress, ask a question, record a decision, or note a finding, instead of editing the card description. Set supersedesId to correct an earlier comment, confirmsId to reaffirm one.",
|
|
4259
4259
|
inputSchema: {
|
|
4260
4260
|
type: "object",
|
|
4261
4261
|
properties: {
|
|
@@ -4752,7 +4752,7 @@ var TOOLS = {
|
|
|
4752
4752
|
limit: { type: "number", description: "Max results (default: 20)" },
|
|
4753
4753
|
top_k: {
|
|
4754
4754
|
type: "number",
|
|
4755
|
-
description: "After
|
|
4755
|
+
description: "After rescoring (relevance × recency × importance), keep this many top entries. Defaults to `limit`. Over-fetch with a large `limit` then trim to a tight top-k."
|
|
4756
4756
|
},
|
|
4757
4757
|
budget_tokens: {
|
|
4758
4758
|
type: "number",
|
|
@@ -4867,7 +4867,7 @@ var TOOLS = {
|
|
|
4867
4867
|
}
|
|
4868
4868
|
},
|
|
4869
4869
|
harmony_suggest_relations: {
|
|
4870
|
-
description: "Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall
|
|
4870
|
+
description: "Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall. Read-only: NEVER creates relations — only proposes candidates to relate explicitly via harmony_relate. Surfaces 'these look related — link?' candidates that would activate graph-walk retrieval.",
|
|
4871
4871
|
inputSchema: {
|
|
4872
4872
|
type: "object",
|
|
4873
4873
|
properties: {
|
package/dist/index.js
CHANGED
|
@@ -4003,7 +4003,7 @@ var TOOLS = {
|
|
|
4003
4003
|
}
|
|
4004
4004
|
},
|
|
4005
4005
|
harmony_upload_card_attachment: {
|
|
4006
|
-
description: "Upload a file attachment to a card
|
|
4006
|
+
description: "Upload a file attachment to a card. Provide `filePath` (local path the server reads, direct-to-storage — local/stdio mode) or `base64Data` (works everywhere, small-file fallback). Max 5MB; allowed: PNG, JPEG, GIF, WebP, HEIC/HEIF, PDF, DOC/DOCX, XLS/XLSX, TXT, CSV. Returns the attachment + a signed URL. Large files on the hosted MCP server: use harmony_request_card_attachment_upload_url + harmony_finalize_card_attachment instead.",
|
|
4007
4007
|
inputSchema: {
|
|
4008
4008
|
type: "object",
|
|
4009
4009
|
properties: {
|
|
@@ -4029,7 +4029,7 @@ var TOOLS = {
|
|
|
4029
4029
|
}
|
|
4030
4030
|
},
|
|
4031
4031
|
harmony_request_card_attachment_upload_url: {
|
|
4032
|
-
description: "Step 1 of the
|
|
4032
|
+
description: "Step 1 of the large-file / hosted-MCP upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL under the card. Returns { uploadUrl, token, storagePath, fileType }. Then PUT the raw bytes to uploadUrl (no bytes through the model context) and call harmony_finalize_card_attachment with storagePath. Max 5MB; same allowed types as harmony_upload_card_attachment.",
|
|
4033
4033
|
inputSchema: {
|
|
4034
4034
|
type: "object",
|
|
4035
4035
|
properties: {
|
|
@@ -4051,7 +4051,7 @@ var TOOLS = {
|
|
|
4051
4051
|
}
|
|
4052
4052
|
},
|
|
4053
4053
|
harmony_finalize_card_attachment: {
|
|
4054
|
-
description: "Step 2 of the
|
|
4054
|
+
description: "Step 2 of the upload handshake. After PUTting the bytes to the signed uploadUrl, call this with storagePath to validate and register the attachment. The server re-downloads the object and enforces size + an allowlisted content-type (magic-byte sniff, never the declared type) + an optional sha256 integrity check, deleting and failing on any mismatch. Returns the attachment + a signed URL.",
|
|
4055
4055
|
inputSchema: {
|
|
4056
4056
|
type: "object",
|
|
4057
4057
|
properties: {
|
|
@@ -4081,7 +4081,7 @@ var TOOLS = {
|
|
|
4081
4081
|
}
|
|
4082
4082
|
},
|
|
4083
4083
|
harmony_classify_card: {
|
|
4084
|
-
description: "Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10),
|
|
4084
|
+
description: "Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10), `model_tier` (simple/advanced/research), stamps `classified_at`, and applies the type label (feature/bug/idea). Call right after creating a card to classify it in-flow. Idempotent; never touches the user-owned `model_override`.",
|
|
4085
4085
|
inputSchema: {
|
|
4086
4086
|
type: "object",
|
|
4087
4087
|
properties: {
|
|
@@ -4091,7 +4091,7 @@ var TOOLS = {
|
|
|
4091
4091
|
}
|
|
4092
4092
|
},
|
|
4093
4093
|
harmony_upload_artifact: {
|
|
4094
|
-
description: "Host a self-contained HTML document (
|
|
4094
|
+
description: "Host a self-contained HTML document (design draft, diagram) and link it to a card, plan, or workspace; rendered in-app in a sandboxed iframe. Provide exactly one of cardId/planId/workspaceId, and the HTML as `filePath` (local, direct-to-storage) or `base64Data` (small-file fallback). text/html only, max 2MB. Returns the artifact + a signed URL; use harmony_share_artifact for a public link. Large files on the hosted MCP server: use harmony_request_artifact_upload_url + harmony_finalize_artifact instead.",
|
|
4095
4095
|
inputSchema: {
|
|
4096
4096
|
type: "object",
|
|
4097
4097
|
properties: {
|
|
@@ -4118,7 +4118,7 @@ var TOOLS = {
|
|
|
4118
4118
|
}
|
|
4119
4119
|
},
|
|
4120
4120
|
harmony_request_artifact_upload_url: {
|
|
4121
|
-
description: "Step 1 of the
|
|
4121
|
+
description: "Step 1 of the large-file / hosted-MCP artifact upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL. Provide exactly one of cardId/planId/workspaceId. Returns { uploadUrl, token, storagePath }. Then PUT the HTML bytes to uploadUrl and call harmony_finalize_artifact with storagePath. text/html only, max 2MB.",
|
|
4122
4122
|
inputSchema: {
|
|
4123
4123
|
type: "object",
|
|
4124
4124
|
properties: {
|
|
@@ -4145,7 +4145,7 @@ var TOOLS = {
|
|
|
4145
4145
|
}
|
|
4146
4146
|
},
|
|
4147
4147
|
harmony_finalize_artifact: {
|
|
4148
|
-
description: "Step 2 of the
|
|
4148
|
+
description: "Step 2 of the artifact upload handshake. After PUTting the HTML bytes to the signed uploadUrl, call this with storagePath to validate and register the artifact. The server re-downloads the object and enforces size + text/html (magic-byte sniff) + an optional sha256 integrity check, deleting and failing on any mismatch. Pass the same one of cardId/planId/workspaceId used for the upload URL. Returns the artifact + a signed URL; use harmony_share_artifact for a public link.",
|
|
4149
4149
|
inputSchema: {
|
|
4150
4150
|
type: "object",
|
|
4151
4151
|
properties: {
|
|
@@ -4250,7 +4250,7 @@ var TOOLS = {
|
|
|
4250
4250
|
}
|
|
4251
4251
|
},
|
|
4252
4252
|
harmony_add_comment: {
|
|
4253
|
-
description: "Post a comment on a card as the agent
|
|
4253
|
+
description: "Post a comment on a card as the agent — converse with the human in the open: report progress, ask a question, record a decision, or note a finding, instead of editing the card description. Set supersedesId to correct an earlier comment, confirmsId to reaffirm one.",
|
|
4254
4254
|
inputSchema: {
|
|
4255
4255
|
type: "object",
|
|
4256
4256
|
properties: {
|
|
@@ -4747,7 +4747,7 @@ var TOOLS = {
|
|
|
4747
4747
|
limit: { type: "number", description: "Max results (default: 20)" },
|
|
4748
4748
|
top_k: {
|
|
4749
4749
|
type: "number",
|
|
4750
|
-
description: "After
|
|
4750
|
+
description: "After rescoring (relevance × recency × importance), keep this many top entries. Defaults to `limit`. Over-fetch with a large `limit` then trim to a tight top-k."
|
|
4751
4751
|
},
|
|
4752
4752
|
budget_tokens: {
|
|
4753
4753
|
type: "number",
|
|
@@ -4862,7 +4862,7 @@ var TOOLS = {
|
|
|
4862
4862
|
}
|
|
4863
4863
|
},
|
|
4864
4864
|
harmony_suggest_relations: {
|
|
4865
|
-
description: "Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall
|
|
4865
|
+
description: "Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall. Read-only: NEVER creates relations — only proposes candidates to relate explicitly via harmony_relate. Surfaces 'these look related — link?' candidates that would activate graph-walk retrieval.",
|
|
4866
4866
|
inputSchema: {
|
|
4867
4867
|
type: "object",
|
|
4868
4868
|
properties: {
|
package/package.json
CHANGED
package/src/server.ts
CHANGED
|
@@ -839,7 +839,7 @@ export const TOOLS = {
|
|
|
839
839
|
},
|
|
840
840
|
harmony_upload_card_attachment: {
|
|
841
841
|
description:
|
|
842
|
-
"Upload a file attachment to a card
|
|
842
|
+
"Upload a file attachment to a card. Provide `filePath` (local path the server reads, direct-to-storage — local/stdio mode) or `base64Data` (works everywhere, small-file fallback). Max 5MB; allowed: PNG, JPEG, GIF, WebP, HEIC/HEIF, PDF, DOC/DOCX, XLS/XLSX, TXT, CSV. Returns the attachment + a signed URL. Large files on the hosted MCP server: use harmony_request_card_attachment_upload_url + harmony_finalize_card_attachment instead.",
|
|
843
843
|
inputSchema: {
|
|
844
844
|
type: "object",
|
|
845
845
|
properties: {
|
|
@@ -870,7 +870,7 @@ export const TOOLS = {
|
|
|
870
870
|
},
|
|
871
871
|
harmony_request_card_attachment_upload_url: {
|
|
872
872
|
description:
|
|
873
|
-
"Step 1 of the
|
|
873
|
+
"Step 1 of the large-file / hosted-MCP upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL under the card. Returns { uploadUrl, token, storagePath, fileType }. Then PUT the raw bytes to uploadUrl (no bytes through the model context) and call harmony_finalize_card_attachment with storagePath. Max 5MB; same allowed types as harmony_upload_card_attachment.",
|
|
874
874
|
inputSchema: {
|
|
875
875
|
type: "object",
|
|
876
876
|
properties: {
|
|
@@ -894,7 +894,7 @@ export const TOOLS = {
|
|
|
894
894
|
},
|
|
895
895
|
harmony_finalize_card_attachment: {
|
|
896
896
|
description:
|
|
897
|
-
"Step 2 of the
|
|
897
|
+
"Step 2 of the upload handshake. After PUTting the bytes to the signed uploadUrl, call this with storagePath to validate and register the attachment. The server re-downloads the object and enforces size + an allowlisted content-type (magic-byte sniff, never the declared type) + an optional sha256 integrity check, deleting and failing on any mismatch. Returns the attachment + a signed URL.",
|
|
898
898
|
inputSchema: {
|
|
899
899
|
type: "object",
|
|
900
900
|
properties: {
|
|
@@ -929,7 +929,7 @@ export const TOOLS = {
|
|
|
929
929
|
},
|
|
930
930
|
harmony_classify_card: {
|
|
931
931
|
description:
|
|
932
|
-
"Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10),
|
|
932
|
+
"Classify a card with the LLM classifier: sets `intent` (plan/think/implement/review), `complexity_score` (0-10), `model_tier` (simple/advanced/research), stamps `classified_at`, and applies the type label (feature/bug/idea). Call right after creating a card to classify it in-flow. Idempotent; never touches the user-owned `model_override`.",
|
|
933
933
|
inputSchema: {
|
|
934
934
|
type: "object",
|
|
935
935
|
properties: {
|
|
@@ -940,7 +940,7 @@ export const TOOLS = {
|
|
|
940
940
|
},
|
|
941
941
|
harmony_upload_artifact: {
|
|
942
942
|
description:
|
|
943
|
-
"Host a self-contained HTML document (
|
|
943
|
+
"Host a self-contained HTML document (design draft, diagram) and link it to a card, plan, or workspace; rendered in-app in a sandboxed iframe. Provide exactly one of cardId/planId/workspaceId, and the HTML as `filePath` (local, direct-to-storage) or `base64Data` (small-file fallback). text/html only, max 2MB. Returns the artifact + a signed URL; use harmony_share_artifact for a public link. Large files on the hosted MCP server: use harmony_request_artifact_upload_url + harmony_finalize_artifact instead.",
|
|
944
944
|
inputSchema: {
|
|
945
945
|
type: "object",
|
|
946
946
|
properties: {
|
|
@@ -971,7 +971,7 @@ export const TOOLS = {
|
|
|
971
971
|
},
|
|
972
972
|
harmony_request_artifact_upload_url: {
|
|
973
973
|
description:
|
|
974
|
-
"Step 1 of the
|
|
974
|
+
"Step 1 of the large-file / hosted-MCP artifact upload handshake (use when the server can't read local disk). Mints a one-shot signed Storage upload URL. Provide exactly one of cardId/planId/workspaceId. Returns { uploadUrl, token, storagePath }. Then PUT the HTML bytes to uploadUrl and call harmony_finalize_artifact with storagePath. text/html only, max 2MB.",
|
|
975
975
|
inputSchema: {
|
|
976
976
|
type: "object",
|
|
977
977
|
properties: {
|
|
@@ -1001,7 +1001,7 @@ export const TOOLS = {
|
|
|
1001
1001
|
},
|
|
1002
1002
|
harmony_finalize_artifact: {
|
|
1003
1003
|
description:
|
|
1004
|
-
"Step 2 of the
|
|
1004
|
+
"Step 2 of the artifact upload handshake. After PUTting the HTML bytes to the signed uploadUrl, call this with storagePath to validate and register the artifact. The server re-downloads the object and enforces size + text/html (magic-byte sniff) + an optional sha256 integrity check, deleting and failing on any mismatch. Pass the same one of cardId/planId/workspaceId used for the upload URL. Returns the artifact + a signed URL; use harmony_share_artifact for a public link.",
|
|
1005
1005
|
inputSchema: {
|
|
1006
1006
|
type: "object",
|
|
1007
1007
|
properties: {
|
|
@@ -1119,7 +1119,7 @@ export const TOOLS = {
|
|
|
1119
1119
|
// Comment operations
|
|
1120
1120
|
harmony_add_comment: {
|
|
1121
1121
|
description:
|
|
1122
|
-
"Post a comment on a card as the agent
|
|
1122
|
+
"Post a comment on a card as the agent — converse with the human in the open: report progress, ask a question, record a decision, or note a finding, instead of editing the card description. Set supersedesId to correct an earlier comment, confirmsId to reaffirm one.",
|
|
1123
1123
|
inputSchema: {
|
|
1124
1124
|
type: "object",
|
|
1125
1125
|
properties: {
|
|
@@ -1669,7 +1669,7 @@ export const TOOLS = {
|
|
|
1669
1669
|
top_k: {
|
|
1670
1670
|
type: "number",
|
|
1671
1671
|
description:
|
|
1672
|
-
"After
|
|
1672
|
+
"After rescoring (relevance × recency × importance), keep this many top entries. Defaults to `limit`. Over-fetch with a large `limit` then trim to a tight top-k.",
|
|
1673
1673
|
},
|
|
1674
1674
|
budget_tokens: {
|
|
1675
1675
|
type: "number",
|
|
@@ -1789,7 +1789,7 @@ export const TOOLS = {
|
|
|
1789
1789
|
},
|
|
1790
1790
|
harmony_suggest_relations: {
|
|
1791
1791
|
description:
|
|
1792
|
-
"Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall
|
|
1792
|
+
"Suggest existing memory entities that look related to a given entity, using the same hybrid vector+FTS similarity as recall. Read-only: NEVER creates relations — only proposes candidates to relate explicitly via harmony_relate. Surfaces 'these look related — link?' candidates that would activate graph-walk retrieval.",
|
|
1793
1793
|
inputSchema: {
|
|
1794
1794
|
type: "object",
|
|
1795
1795
|
properties: {
|