@bicharts/chart-mcp 0.6.69 → 0.6.71
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/README.md +30 -0
- package/dist/check-chart.mjs +10 -10
- package/dist/index.mjs +96 -83
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -272,6 +272,36 @@ The server tells the BIC service three things, and nothing else:
|
|
|
272
272
|
|
|
273
273
|
Set `BIC_MCP_TELEMETRY=0` in the server's environment to turn all of it off.
|
|
274
274
|
|
|
275
|
+
## Hosted server (`--http`)
|
|
276
|
+
|
|
277
|
+
The same server can also run as a remote MCP endpoint over Streamable HTTP, for clients that only take a URL (chat
|
|
278
|
+
connectors, notebook and dashboard tools). It's how the hosted chart server runs behind the RegiaBI site, which
|
|
279
|
+
checks each caller's sign-in before a request reaches it.
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
npx -y @bicharts/chart-mcp --http --host 127.0.0.1 --port 8799
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
`BIC_MCP_HOSTED=1` starts it the same way, and `BIC_MCP_HTTP_PORT` sets the port. It answers MCP on `POST /mcp`
|
|
286
|
+
and `GET /healthz`. What's different from the local server:
|
|
287
|
+
|
|
288
|
+
- **Every request needs `Authorization: Bearer <access token>`** (a request without one gets a 401), and that token is
|
|
289
|
+
the only credential its calls send. A license key in the environment or `~/.bic/credentials.json` isn't used, and no
|
|
290
|
+
browser sign-in opens. When the service turns the token away, the tool's answer says to reconnect; your MCP
|
|
291
|
+
client signs in again.
|
|
292
|
+
- **It's stateless:** each request gets a fresh server and no session, so `GET` and `DELETE` on `/mcp` answer 405,
|
|
293
|
+
and a question a tool would ask the client (hover drop lines on a 3D scatter) goes to the agent instead.
|
|
294
|
+
- **Five tools:** `assess_data_shape`, `list_eligible_charts`, `generate_chart`, `preview_request` and `get_guide`. The
|
|
295
|
+
tools that work in your project folder (`check_chart`, `check_app`, `setup_fabric_app`, `query_semantic_model`,
|
|
296
|
+
`suggest_charts`) need the local server, since a remote server can't see your machine.
|
|
297
|
+
- **Tables travel in the request,** as `data` or `csv_text`; `csv_path`, `out_dir`, `preview_html` and `project_dir`
|
|
298
|
+
are refused with a one-line reason. The server profiles the table in memory, sends only the profile to generation
|
|
299
|
+
(exactly what the local server sends) and drops the rows: nothing is written to disk or logged. Charts come back
|
|
300
|
+
inline. With no `language` or `renderer`, it generates JavaScript (D3).
|
|
301
|
+
- **Each request it sends says it came from the hosted server,** and an `X-BIC-Client-IP` header on the incoming
|
|
302
|
+
request is passed on, so the service's limits apply to the person rather than to the server. Run it yourself only
|
|
303
|
+
behind something that checks callers, since it trusts that header.
|
|
304
|
+
|
|
275
305
|
## The agent skill (recommended)
|
|
276
306
|
|
|
277
307
|
This package ships `skills/bic-charts/SKILL.md` — the golden path from empty directory to a
|