tare-mcp 0.2.0 → 0.2.1

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 CHANGED
@@ -1,41 +1,55 @@
1
1
  # tare-mcp
2
2
 
3
- [![Build](https://github.com/nishantmodak/tare-mcp/actions/workflows/publish-npm.yml/badge.svg)](https://github.com/nishantmodak/tare-mcp/actions/workflows/publish-npm.yml)
4
- [![Version](https://img.shields.io/github/package-json/v/nishantmodak/tare-mcp?label=version)](package.json)
3
+ [![Build](https://github.com/nishantmodak/tare-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/nishantmodak/tare-mcp/actions/workflows/ci.yml)
5
4
  [![npm](https://img.shields.io/npm/v/tare-mcp?label=npm)](https://www.npmjs.com/package/tare-mcp)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6
6
 
7
7
  See what your MCP tools weigh before your agent does anything.
8
8
 
9
9
  ```bash
10
- pnpm install
11
- pnpm build
12
- node dist/cli.js
10
+ npx tare-mcp
13
11
  ```
14
12
 
15
13
  MCP made tools easy to connect.
16
14
  It did not make them cheap to carry.
17
15
 
18
- `tare-mcp` inspects your MCP setup and shows:
16
+ `tare-mcp` inspects your MCP setup and shows, in one local run:
19
17
 
20
18
  - how many tools your agent sees
21
- - how much context those tools consume
19
+ - how much context those tools consume, estimated for Claude and OpenAI cl100k
22
20
  - which servers dominate the budget
23
21
  - which tools overlap and compete for model attention
24
22
  - whether your setup exceeds a context budget
25
23
 
26
- Think of it as:
24
+ Use it once to see the current cost:
27
25
 
28
26
  ```bash
29
- du -sh node_modules
27
+ npx tare-mcp
30
28
  ```
31
29
 
32
- but for agent tool context.
30
+ Use it in CI to catch MCP bloat before merge:
31
+
32
+ ```bash
33
+ # one time
34
+ mkdir -p .tare
35
+ npx tare-mcp --json > .tare/baseline.json
36
+ git add .tare/baseline.json
37
+
38
+ # on every PR
39
+ npx tare-mcp --json > tare-report.json
40
+ npx tare-mcp diff \
41
+ --base .tare/baseline.json \
42
+ --head tare-report.json \
43
+ --max-token-increase 5000 \
44
+ --max-tool-increase 20
45
+ ```
46
+
47
+ Think of it as `du -sh node_modules`, but for agent tool context.
33
48
 
34
49
  ## Table of Contents
35
50
 
36
51
  - [Why This Matters](#why-this-matters)
37
52
  - [Why Token Count Is Not the Whole Problem](#why-token-count-is-not-the-whole-problem)
38
- - [Current Status](#current-status)
39
53
  - [Quickstart](#quickstart)
40
54
  - [Hosted MCP Quickstart](#hosted-mcp-quickstart)
41
55
  - [Scenario Examples](#scenario-examples)
@@ -74,25 +88,9 @@ If three servers all expose tools that look like "search", the model has to choo
74
88
  - what your tools weigh
75
89
  - where your tools overlap
76
90
 
77
- ## Current status
78
-
79
- Current repository version: `0.2.0`.
80
-
81
- The CLI is implemented as `tare-mcp`, and the package is configured for npm as `tare-mcp`. Until the first npm release is published, run it from this repository with `node dist/cli.js` after building. Once published, the same commands work through `npx tare-mcp` or an npm install.
82
-
83
- Most examples below use `npx tare-mcp` because that is the intended published interface. Before the first npm release, replace `npx tare-mcp` with `node /path/to/tare-mcp/dist/cli.js`.
84
-
85
91
  ## Quickstart
86
92
 
87
- Run from source:
88
-
89
- ```bash
90
- pnpm install
91
- pnpm build
92
- node dist/cli.js
93
- ```
94
-
95
- After the npm package is published:
93
+ Run it without installing:
96
94
 
97
95
  ```bash
98
96
  npx tare-mcp
@@ -120,26 +118,20 @@ Context window usage:
120
118
 
121
119
  If the output is empty or shows "Config files found: 0", see [Config discovery](#config-discovery).
122
120
 
123
- Install it in a project after the npm release:
121
+ Install it in a project:
124
122
 
125
123
  ```bash
126
124
  npm install --save-dev tare-mcp
127
125
  npx tare-mcp
128
126
  ```
129
127
 
130
- Install it globally after the npm release:
128
+ Install it globally:
131
129
 
132
130
  ```bash
133
131
  npm install --global tare-mcp
134
132
  tare-mcp
135
133
  ```
136
134
 
137
- For local development, keep using the source command:
138
-
139
- ```bash
140
- pnpm dev
141
- ```
142
-
143
135
  Static-only mode parses config without starting servers or calling hosted endpoints:
144
136
 
145
137
  ```bash
@@ -159,6 +151,14 @@ Emit JSON for CI or other tools:
159
151
  npx tare-mcp --json
160
152
  ```
161
153
 
154
+ For local development from this repository:
155
+
156
+ ```bash
157
+ pnpm install
158
+ pnpm build
159
+ pnpm dev
160
+ ```
161
+
162
162
  ## Hosted MCP Quickstart
163
163
 
164
164
  Use this when you want to inspect a real hosted MCP endpoint.
@@ -166,7 +166,19 @@ Use this when you want to inspect a real hosted MCP endpoint.
166
166
  ```bash
167
167
  mkdir -p /tmp/tare-mcp-hosted
168
168
  cd /tmp/tare-mcp-hosted
169
- cp /path/to/tare-mcp/examples/scenarios/hosted-streamable-http.mcp.json .mcp.json
169
+ cat > .mcp.json <<'JSON'
170
+ {
171
+ "mcpServers": {
172
+ "last9": {
173
+ "type": "http",
174
+ "url": "https://mcp.last9.io/mcp",
175
+ "headers": {
176
+ "Authorization": "Bearer ${LAST9_MCP_TOKEN}"
177
+ }
178
+ }
179
+ }
180
+ }
181
+ JSON
170
182
  export LAST9_MCP_TOKEN="..."
171
183
  npx tare-mcp --timeout 10000
172
184
  ```
@@ -587,7 +599,7 @@ npm publish --access public --provenance
587
599
 
588
600
  The npm package is named `tare-mcp` because the unscoped `tare` package name is already occupied on npm.
589
601
 
590
- After the first npm release, users can install it with:
602
+ Users can install it with:
591
603
 
592
604
  ```bash
593
605
  npm install --save-dev tare-mcp
package/dist/cli.js CHANGED
@@ -5,7 +5,7 @@ import { Command } from "commander";
5
5
  import { z as z4 } from "zod";
6
6
 
7
7
  // src/version.ts
8
- var VERSION = "0.2.0";
8
+ var VERSION = "0.2.1";
9
9
 
10
10
  // src/utils/stableJson.ts
11
11
  function stableValue(value) {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/version.ts
4
- var VERSION = "0.2.0";
4
+ var VERSION = "0.2.1";
5
5
 
6
6
  // src/discovery/discoverConfigs.ts
7
7
  import os2 from "os";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tare-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Local-first CLI for analyzing MCP context weight and tool ambiguity.",
5
5
  "license": "MIT",
6
6
  "type": "module",