@selfagency/beans-mcp 0.1.0 → 0.1.2

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/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The Self Agency, LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # beans-mcp
1
+ # @selfagency/beans-mcp 🫘
2
+
3
+ [![Test & Build](https://github.com/selfagency/beans-mcp/actions/workflows/test.yml/badge.svg)](https://github.com/selfagency/beans-mcp/actions/workflows/test.yml) [![codecov](https://codecov.io/gh/selfagency/beans-mcp/graph/badge.svg?token=udeAJyu8Nu)](https://codecov.io/gh/selfagency/beans-mcp)
2
4
 
3
5
  MCP (Model Context Protocol) server for [Beans](https://github.com/hmans/beans) issue tracker. Provides programmatic and CLI interfaces for AI-powered interactions with Beans workspaces.
4
6
 
5
- <div style="border: 1px solid; border-radius: 12px; padding: 8px; display: flex; flex-direction: column; align-items: center; justify-items: center;">
6
- <span><strong>Try Beans fully-integrated with GitHub Copilot in VS Code! Install the <a href="https://marketplace.visualstudio.com/items?itemName=selfagency.beans-vscode">selfagency.beans-vscode</a> extension.</strong></span>
7
- </div>
7
+ > 🤖 **Try Beans fully-integrated with GitHub Copilot in VS Code! Install the <a href="https://marketplace.visualstudio.com/items?itemName=selfagency.beans-vscode">selfagency.beans-vscode</a> extension.**
8
8
 
9
9
  ## Usage
10
10
 
@@ -22735,8 +22735,7 @@ function isPathWithinRoot(root, target) {
22735
22735
  }
22736
22736
  function makeTextAndStructured(value) {
22737
22737
  return {
22738
- content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
22739
- structuredContent: value
22738
+ content: [{ type: "text", text: JSON.stringify(value, null, 2) }]
22740
22739
  };
22741
22740
  }
22742
22741
  var import_node_path;
@@ -22920,6 +22919,9 @@ Output: ${stdout.slice(0, 1e3)}`
22920
22919
  if (updates.blockedBy) {
22921
22920
  updateInput.addBlockedBy = updates.blockedBy;
22922
22921
  }
22922
+ if (updates.body !== void 0) {
22923
+ updateInput.body = updates.body;
22924
+ }
22923
22925
  const { data, errors } = await this.executeGraphQL(UPDATE_BEAN_MUTATION, {
22924
22926
  id: beanId,
22925
22927
  input: updateInput
@@ -31251,7 +31253,8 @@ function updateHandler(backend) {
31251
31253
  parent: input.parent,
31252
31254
  clearParent: input.clearParent,
31253
31255
  blocking: input.blocking,
31254
- blockedBy: input.blockedBy
31256
+ blockedBy: input.blockedBy,
31257
+ body: input.body
31255
31258
  })
31256
31259
  });
31257
31260
  }
@@ -31410,7 +31413,8 @@ function registerTools(server, backend) {
31410
31413
  parent: external_exports3.string().max(MAX_ID_LENGTH).optional(),
31411
31414
  clearParent: external_exports3.boolean().optional(),
31412
31415
  blocking: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional(),
31413
- blockedBy: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional()
31416
+ blockedBy: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional(),
31417
+ body: external_exports3.string().max(MAX_DESCRIPTION_LENGTH).optional()
31414
31418
  }),
31415
31419
  annotations: {
31416
31420
  readOnlyHint: false,
package/index.cjs CHANGED
@@ -22735,8 +22735,7 @@ function isPathWithinRoot(root, target) {
22735
22735
  }
22736
22736
  function makeTextAndStructured(value) {
22737
22737
  return {
22738
- content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
22739
- structuredContent: value
22738
+ content: [{ type: "text", text: JSON.stringify(value, null, 2) }]
22740
22739
  };
22741
22740
  }
22742
22741
  var import_node_path;
@@ -22920,6 +22919,9 @@ Output: ${stdout.slice(0, 1e3)}`
22920
22919
  if (updates.blockedBy) {
22921
22920
  updateInput.addBlockedBy = updates.blockedBy;
22922
22921
  }
22922
+ if (updates.body !== void 0) {
22923
+ updateInput.body = updates.body;
22924
+ }
22923
22925
  const { data, errors } = await this.executeGraphQL(UPDATE_BEAN_MUTATION, {
22924
22926
  id: beanId,
22925
22927
  input: updateInput
@@ -31268,7 +31270,8 @@ function updateHandler(backend) {
31268
31270
  parent: input.parent,
31269
31271
  clearParent: input.clearParent,
31270
31272
  blocking: input.blocking,
31271
- blockedBy: input.blockedBy
31273
+ blockedBy: input.blockedBy,
31274
+ body: input.body
31272
31275
  })
31273
31276
  });
31274
31277
  }
@@ -31427,7 +31430,8 @@ function registerTools(server, backend) {
31427
31430
  parent: external_exports3.string().max(MAX_ID_LENGTH).optional(),
31428
31431
  clearParent: external_exports3.boolean().optional(),
31429
31432
  blocking: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional(),
31430
- blockedBy: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional()
31433
+ blockedBy: external_exports3.array(external_exports3.string().max(MAX_ID_LENGTH)).optional(),
31434
+ body: external_exports3.string().max(MAX_DESCRIPTION_LENGTH).optional()
31431
31435
  }),
31432
31436
  annotations: {
31433
31437
  readOnlyHint: false,
package/index.d.ts CHANGED
@@ -68,6 +68,7 @@ interface BackendInterface {
68
68
  clearParent?: boolean;
69
69
  blocking?: string[];
70
70
  blockedBy?: string[];
71
+ body?: string;
71
72
  }): Promise<BeanRecord>;
72
73
  delete(beanId: string): Promise<Record<string, unknown>>;
73
74
  openConfig(): Promise<{
@@ -144,6 +145,7 @@ declare class BeansCliBackend implements BackendInterface {
144
145
  clearParent?: boolean;
145
146
  blocking?: string[];
146
147
  blockedBy?: string[];
148
+ body?: string;
147
149
  }): Promise<BeanRecord>;
148
150
  delete(beanId: string): Promise<Record<string, unknown>>;
149
151
  openConfig(): Promise<{
@@ -213,7 +215,6 @@ declare function makeTextAndStructured<T extends Record<string, unknown>>(value:
213
215
  type: "text";
214
216
  text: string;
215
217
  }[];
216
- structuredContent: T;
217
218
  };
218
219
 
219
220
  export { type BackendInterface, type BeanRecord, BeansCliBackend, DEFAULT_MCP_PORT, type GraphQLError, MAX_ID_LENGTH, MAX_METADATA_LENGTH, MAX_TITLE_LENGTH, type SortMode, createBeansMcpServer, isPathWithinRoot, makeTextAndStructured, parseCliArgs, sortBeansInternal as sortBeans, startBeansMcpServer };