@bixbd/utils-mcp 0.1.0-beta.2 → 0.1.0-beta.3

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.
Files changed (3) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -0
  3. package/package.json +34 -16
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 BIXBD
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 ADDED
@@ -0,0 +1,95 @@
1
+ # @bixbd/utils-mcp
2
+
3
+ Connect utility portals to AI agents through the [Model Context Protocol](https://modelcontextprotocol.io). It runs on your own computer over stdio, so your credentials never leave your machine.
4
+
5
+ > **Beta.** Expect changes. Published under the `next` tag.
6
+
7
+ ## What it does
8
+
9
+ You enable the connectors you want. Each connector adds a few task-shaped tools (like `desco_get_balance`) to your AI app. Only enabled connectors are loaded, so the AI's tool list stays small.
10
+
11
+ | Connector | Tools | Credentials |
12
+ | --- | --- | --- |
13
+ | `desco` ([package](https://www.npmjs.com/package/@bixbd/utils-mcp-connector-desco)) | `desco_list_accounts`, `desco_get_balance`, `desco_get_realtime_status` | `DESCO_USERNAME`, `DESCO_PASSWORD` |
14
+ | `example` (repo only) | `example_get_status` | none |
15
+
16
+ ## Requirements
17
+
18
+ [Bun](https://bun.sh) 1.1 or newer. The server runs TypeScript directly with Bun.
19
+
20
+ ## Install
21
+
22
+ Install the server and the connectors you need into one folder. Connectors are separate packages, and the server loads them from the folder it is installed in.
23
+
24
+ ```bash
25
+ mkdir -p ~/.utils-mcp && cd ~/.utils-mcp
26
+ bun add @bixbd/utils-mcp@next @bixbd/utils-mcp-connector-desco@next
27
+ ```
28
+
29
+ ## Choose connectors
30
+
31
+ Create `~/.utils-mcp/config.json`. Nothing is enabled by default.
32
+
33
+ ```json
34
+ { "enabled": ["desco"] }
35
+ ```
36
+
37
+ Each name `<id>` loads the package `@bixbd/utils-mcp-connector-<id>`, so it must be installed in the same folder.
38
+
39
+ ## Add it to your AI app
40
+
41
+ Use the full path, because most apps do not expand `~`.
42
+
43
+ **Claude Desktop** (`claude_desktop_config.json`):
44
+
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "utils": {
49
+ "command": "/Users/you/.utils-mcp/node_modules/.bin/utils-mcp",
50
+ "env": { "DESCO_USERNAME": "your-username", "DESCO_PASSWORD": "your-password" }
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ **Claude Code:**
57
+
58
+ ```bash
59
+ claude mcp add utils -e DESCO_USERNAME=your-username -e DESCO_PASSWORD=your-password -- ~/.utils-mcp/node_modules/.bin/utils-mcp
60
+ ```
61
+
62
+ Restart the app, then ask something like "What is my DESCO balance?"
63
+
64
+ ## Multiple accounts
65
+
66
+ Add a label after two underscores and pass it as `account` in the tool call:
67
+
68
+ ```
69
+ DESCO_USERNAME__OFFICE=...
70
+ DESCO_PASSWORD__OFFICE=...
71
+ ```
72
+
73
+ Then ask "check the office DESCO account", and the AI calls the tool with `account: "office"`. Without a label, the default account is used.
74
+
75
+ ## Troubleshooting
76
+
77
+ | Message | Fix |
78
+ | --- | --- |
79
+ | `no connectors enabled` | Create `~/.utils-mcp/config.json` with `{"enabled": ["desco"]}`. |
80
+ | Cannot find the connector package | Run `bun add @bixbd/utils-mcp-connector-<id>@next` inside `~/.utils-mcp`. |
81
+ | A tool says credentials are missing | Add the environment variables to your app's MCP config (the `env` block). |
82
+ | The portal changed | The tool returns `UPSTREAM_CHANGED`. Open an issue with the tool name. |
83
+
84
+ Set the config path with `UTILS_MCP_CONFIG=/path/to/config.json` if you keep it elsewhere. Logs go to stderr, never stdout.
85
+
86
+ ## Security
87
+
88
+ - Credentials come from environment variables and are sent only to the portal over HTTPS.
89
+ - Sessions are kept in memory only. Nothing is written to disk.
90
+ - Account numbers are masked in tool output.
91
+ - Use only accounts you own or have permission to access. Connectors are unofficial and not affiliated with the portals.
92
+
93
+ ## Links
94
+
95
+ [Source and issues](https://github.com/bixbd/utils-mcp) · [Write a connector](https://github.com/bixbd/utils-mcp/blob/main/CONTRIBUTING.md) · MIT License
package/package.json CHANGED
@@ -1,14 +1,43 @@
1
1
  {
2
2
  "name": "@bixbd/utils-mcp",
3
- "version": "0.1.0-beta.2",
4
- "description": "Connect utility portals to AI agents through MCP",
3
+ "version": "0.1.0-beta.3",
4
+ "description": "Connect utility portals to AI agents through MCP. Local stdio server for Bun; credentials stay on your machine.",
5
+ "keywords": [
6
+ "mcp",
7
+ "model-context-protocol",
8
+ "ai-agents",
9
+ "claude",
10
+ "bun",
11
+ "utilities",
12
+ "portals",
13
+ "stdio"
14
+ ],
15
+ "license": "MIT",
16
+ "author": "BIXBD (https://github.com/bixbd)",
17
+ "homepage": "https://github.com/bixbd/utils-mcp#readme",
18
+ "bugs": {
19
+ "url": "https://github.com/bixbd/utils-mcp/issues"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/bixbd/utils-mcp.git",
24
+ "directory": "packages/server"
25
+ },
5
26
  "type": "module",
6
27
  "bin": {
7
28
  "utils-mcp": "src/cli.ts"
8
29
  },
9
30
  "files": [
10
- "src"
31
+ "src",
32
+ "README.md",
33
+ "LICENSE"
11
34
  ],
35
+ "engines": {
36
+ "bun": ">=1.1.0"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ },
12
41
  "scripts": {
13
42
  "build": "echo \"server: runs from source with Bun\"",
14
43
  "typecheck": "tsc --noEmit",
@@ -16,12 +45,12 @@
16
45
  "start": "bun src/cli.ts"
17
46
  },
18
47
  "dependencies": {
19
- "@bixbd/utils-mcp-core": "0.1.0-beta.2",
48
+ "@bixbd/utils-mcp-core": "0.1.0-beta.3",
20
49
  "@modelcontextprotocol/sdk": "^1.0.0"
21
50
  },
22
51
  "devDependencies": {
23
52
  "@bixbd/utils-mcp-connector-example": "0.0.0",
24
- "@bixbd/utils-mcp-connector-desco": "0.1.0-beta.2"
53
+ "@bixbd/utils-mcp-connector-desco": "0.1.0-beta.3"
25
54
  },
26
55
  "peerDependencies": {
27
56
  "@bixbd/utils-mcp-connector-example": "*",
@@ -34,16 +63,5 @@
34
63
  "@bixbd/utils-mcp-connector-desco": {
35
64
  "optional": true
36
65
  }
37
- },
38
- "publishConfig": {
39
- "access": "public"
40
- },
41
- "repository": {
42
- "type": "git",
43
- "url": "git+https://github.com/bixbd/utils-mcp.git",
44
- "directory": "packages/server"
45
- },
46
- "engines": {
47
- "bun": ">=1.1.0"
48
66
  }
49
67
  }