mcp-compression-proxy 1.0.0

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 (38) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/LICENSE +21 -0
  3. package/README.md +842 -0
  4. package/dist/cli/commands.d.ts +25 -0
  5. package/dist/cli/commands.js +152 -0
  6. package/dist/cli/daemon.d.ts +4 -0
  7. package/dist/cli/daemon.js +336 -0
  8. package/dist/cli/index.d.ts +3 -0
  9. package/dist/cli/index.js +269 -0
  10. package/dist/cli/ipc-client.d.ts +11 -0
  11. package/dist/cli/ipc-client.js +81 -0
  12. package/dist/cli/payload-interceptor.d.ts +6 -0
  13. package/dist/cli/payload-interceptor.js +49 -0
  14. package/dist/config/loader.d.ts +53 -0
  15. package/dist/config/loader.js +332 -0
  16. package/dist/config/schema.d.ts +164 -0
  17. package/dist/config/schema.js +127 -0
  18. package/dist/index.d.ts +3 -0
  19. package/dist/index.js +821 -0
  20. package/dist/mcp/client-manager.d.ts +65 -0
  21. package/dist/mcp/client-manager.js +197 -0
  22. package/dist/services/compression-cache.d.ts +112 -0
  23. package/dist/services/compression-cache.js +238 -0
  24. package/dist/services/compression-persistence.d.ts +36 -0
  25. package/dist/services/compression-persistence.js +111 -0
  26. package/dist/services/compression-sampler.d.ts +89 -0
  27. package/dist/services/compression-sampler.js +171 -0
  28. package/dist/services/session-manager.d.ts +64 -0
  29. package/dist/services/session-manager.js +160 -0
  30. package/dist/services/stats-service.d.ts +101 -0
  31. package/dist/services/stats-service.js +246 -0
  32. package/dist/types/compression.d.ts +38 -0
  33. package/dist/types/compression.js +5 -0
  34. package/dist/types/index.d.ts +108 -0
  35. package/dist/types/index.js +2 -0
  36. package/dist/version.d.ts +11 -0
  37. package/dist/version.js +11 -0
  38. package/package.json +110 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,97 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
4
+
5
+ ## 1.0.0 (2026-08-23)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * Node.js 18 and 20 are no longer supported. The minimum
10
+ supported version is now Node.js 22.
11
+
12
+ ### Features
13
+
14
+ * add comprehensive e2e testing with real LLM ([#11](https://github.com/kdpa-llc/mcp-compression-proxy/issues/11)) ([d123f45](https://github.com/kdpa-llc/mcp-compression-proxy/commit/d123f450d00c65391f97e614cf5b6255e3818ff2))
15
+ * Add configurable timeout for MCP server initialization ([#13](https://github.com/kdpa-llc/mcp-compression-proxy/issues/13)) ([6b54407](https://github.com/kdpa-llc/mcp-compression-proxy/commit/6b54407c8a460817f5b19ea11b69ce9735a75d12))
16
+ * add JSON-based configuration system with environment variable expansion ([e35e2dd](https://github.com/kdpa-llc/mcp-compression-proxy/commit/e35e2dd36304f6a0d4a4a95e74ad29fba6d882ab)), closes [#3](https://github.com/kdpa-llc/mcp-compression-proxy/issues/3) [#3](https://github.com/kdpa-llc/mcp-compression-proxy/issues/3)
17
+ * add mcp-cli lazy loading with progressive tool discovery ([dff1e03](https://github.com/kdpa-llc/mcp-compression-proxy/commit/dff1e0343aa01123f439439b5effbdea8e050f5d))
18
+ * add persistent compression storage ([5be2116](https://github.com/kdpa-llc/mcp-compression-proxy/commit/5be21166aee7e5a29f25784697b1e6774998c589)), closes [#2](https://github.com/kdpa-llc/mcp-compression-proxy/issues/2)
19
+ * add stats management tool ([d2c6b84](https://github.com/kdpa-llc/mcp-compression-proxy/commit/d2c6b84e59e25b750f9365971daa38d565485d5a))
20
+ * add uncompressed-tool fallback behavior and live coverage stats ([0930cab](https://github.com/kdpa-llc/mcp-compression-proxy/commit/0930cabf34e7bf9888c4187eb74d5e0ca19995f6)), closes [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#16](https://github.com/kdpa-llc/mcp-compression-proxy/issues/16)
21
+ * compress tool descriptions using the host LLM via MCP sampling ([6ab69d5](https://github.com/kdpa-llc/mcp-compression-proxy/commit/6ab69d53881972c04f258a85b807d0a6656e1721))
22
+ * disambiguate excludeTools and noCompressTools features ([2f1bc3d](https://github.com/kdpa-llc/mcp-compression-proxy/commit/2f1bc3d511d37c1059721fde601a70f8d464e90a))
23
+ * implement tool-level ignore patterns with wildcard support ([73b6f47](https://github.com/kdpa-llc/mcp-compression-proxy/commit/73b6f478117898b6b74cdfe08fbfa56bf632f668))
24
+ * require Node.js 22 or newer ([8172c9f](https://github.com/kdpa-llc/mcp-compression-proxy/commit/8172c9fde3f38ae3726c06ca970847c5c9c51a59))
25
+ * surface live compression stats and fix tool call regressions ([f3f17b0](https://github.com/kdpa-llc/mcp-compression-proxy/commit/f3f17b08686603a46109cbaa8ceef34558a96867)), closes [#16](https://github.com/kdpa-llc/mcp-compression-proxy/issues/16) [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#16](https://github.com/kdpa-llc/mcp-compression-proxy/issues/16)
26
+ * warn on unresolved env vars, cache config reads, add new options ([6e574a5](https://github.com/kdpa-llc/mcp-compression-proxy/commit/6e574a5f5f4c5417792605b3b2a6dcf56ad6b9c2)), closes [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#24](https://github.com/kdpa-llc/mcp-compression-proxy/issues/24)
27
+
28
+ ### Bug Fixes
29
+
30
+ * correct npm package name to match repository ([96b08a3](https://github.com/kdpa-llc/mcp-compression-proxy/commit/96b08a3272bced8108af1f3756516a7925435c33))
31
+ * **deps:** pin the changelog preset so release notes can render ([#39](https://github.com/kdpa-llc/mcp-compression-proxy/issues/39)) ([29b1fe9](https://github.com/kdpa-llc/mcp-compression-proxy/commit/29b1fe95af38bd6373ced6ce6651992bb48341d0))
32
+ * **deps:** regenerate the lockfile so npm ci can install it ([a14a9d9](https://github.com/kdpa-llc/mcp-compression-proxy/commit/a14a9d9db66415c7b72e43c4b9cb3942085a1ddd))
33
+ * **deps:** resolve all production dependency advisories ([701ddc1](https://github.com/kdpa-llc/mcp-compression-proxy/commit/701ddc189a89ae0479d3233a350d8744ffeff838))
34
+ * **deps:** upgrade pino to v10 ([eecf9a6](https://github.com/kdpa-llc/mcp-compression-proxy/commit/eecf9a606cc6b7c04f03109bd8451ec31401d655))
35
+ * improve MCP connection closing ([86ef4b2](https://github.com/kdpa-llc/mcp-compression-proxy/commit/86ef4b25084f4979d7ee22bd2a8b9c90e77240c9))
36
+ * pass environment variables through to backend MCP servers ([b2fabc1](https://github.com/kdpa-llc/mcp-compression-proxy/commit/b2fabc11b2631bdae7b0808024589386fe206a1b))
37
+ * remove legacy 'disabled' field to standardize server configuration ([fb6f826](https://github.com/kdpa-llc/mcp-compression-proxy/commit/fb6f826ef014e73fe461f676ebe0d0a7db2d161e)), closes [#19](https://github.com/kdpa-llc/mcp-compression-proxy/issues/19)
38
+ * remove the broken TypeScript config migration path ([c4c7de1](https://github.com/kdpa-llc/mcp-compression-proxy/commit/c4c7de159a464ff2ec5ea15e9aad70ba7cfa7058))
39
+ * report the real package version over MCP instead of a stale literal ([2bc4bb0](https://github.com/kdpa-llc/mcp-compression-proxy/commit/2bc4bb0b45ed2d812a51261f03389d4035e868f3))
40
+ * stop `mcp-cli daemon start` from hanging, and document the CLI ([94a7f78](https://github.com/kdpa-llc/mcp-compression-proxy/commit/94a7f783dd4a0904c0e6776a5c6a4bbcc10d5238))
41
+ * stop the session cleanup timer from holding the event loop open ([68892ed](https://github.com/kdpa-llc/mcp-compression-proxy/commit/68892ed1bcffcc7fca38e14591c5ff4ad8b4b8d2)), closes [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#16](https://github.com/kdpa-llc/mcp-compression-proxy/issues/16)
42
+ * stop writing intercepted payloads to predictable temp paths ([2331006](https://github.com/kdpa-llc/mcp-compression-proxy/commit/2331006ec91cb043e0cd9fb01ee51a27f6b5920c))
43
+ * update all references from mcp-aggregator to mcp-compression-proxy ([9735e67](https://github.com/kdpa-llc/mcp-compression-proxy/commit/9735e672b595cefdb46039523e8d2de3c61f2192))
44
+ * update all references from mcp-tool-aggregator to mcp-compression-proxy ([daf7b53](https://github.com/kdpa-llc/mcp-compression-proxy/commit/daf7b53f191486b7f0fc853ea94b632e115f06f6))
45
+
46
+ ### Documentation
47
+
48
+ * add complementary projects section for cross-adoption ([cd6b977](https://github.com/kdpa-llc/mcp-compression-proxy/commit/cd6b977b2efed34977ed05216887a84a9b0d80a9))
49
+ * add missing badges and support section to README ([334cb97](https://github.com/kdpa-llc/mcp-compression-proxy/commit/334cb97880bc72c853d454f888b8228151e88cb8))
50
+ * comprehensive README polish for clarity and accuracy ([#12](https://github.com/kdpa-llc/mcp-compression-proxy/issues/12)) ([c771bd5](https://github.com/kdpa-llc/mcp-compression-proxy/commit/c771bd5cf6b5b29f90f532aa07a197aa46980d6e))
51
+ * correct the test documentation, which had drifted badly ([0a5bbf4](https://github.com/kdpa-llc/mcp-compression-proxy/commit/0a5bbf4a02c9d99a61a156120be9b25a0bcd2014))
52
+ * document the new config options and fix npm test on a fresh clone ([e604195](https://github.com/kdpa-llc/mcp-compression-proxy/commit/e604195e483f7071b453359aaaea16c08cde7a4e)), closes [#15](https://github.com/kdpa-llc/mcp-compression-proxy/issues/15) [#24](https://github.com/kdpa-llc/mcp-compression-proxy/issues/24)
53
+ * improve documentation and add automation infrastructure ([f9a4e92](https://github.com/kdpa-llc/mcp-compression-proxy/commit/f9a4e9235728ca9e6153fcff66d2328528e54141))
54
+ * prepare the changelog and publishing guide for the first release ([f6a30fb](https://github.com/kdpa-llc/mcp-compression-proxy/commit/f6a30fb6822523c1a675c23f1e6c3e321e75b32f))
55
+ * use the project's actual name consistently ([99fc78c](https://github.com/kdpa-llc/mcp-compression-proxy/commit/99fc78c27ac8f7b364afe8a39983c04cb87cac35))
56
+
57
+ ### Code Refactoring
58
+
59
+ * eliminate the remaining `any` and non-null assertions ([341ccdb](https://github.com/kdpa-llc/mcp-compression-proxy/commit/341ccdb6b511fc06278f3f04c75b846d25fc866a))
60
+ * give the daemon status field a name that matches its value ([77bc8a9](https://github.com/kdpa-llc/mcp-compression-proxy/commit/77bc8a91eb4a2c48d8df47b77d5a07ffd7c9822d))
61
+ * simplify cache path to ~/.mcp-compression-proxy/cache.json ([5819a69](https://github.com/kdpa-llc/mcp-compression-proxy/commit/5819a694bab1be181cba634680aa1f2cff8bf87f))
62
+ * use repo-specific cache directory ([7c043ae](https://github.com/kdpa-llc/mcp-compression-proxy/commit/7c043aea343d11bd5651a93ff12c10e5657f395f))
63
+
64
+ ### Build System
65
+
66
+ * add complete automation infrastructure and community files ([e716371](https://github.com/kdpa-llc/mcp-compression-proxy/commit/e716371a0b0fc54b5eafb44471e2f3ae533b9894))
67
+ * configure npm publishing setup ([537006b](https://github.com/kdpa-llc/mcp-compression-proxy/commit/537006b5c230ac37044f7d1beef823f5a22c7b9e))
68
+
69
+ <!--
70
+ This file is generated by @semantic-release/changelog from here down.
71
+ New releases are inserted directly below this comment. Do not add entries by
72
+ hand - write a conventional commit and the release notes follow from it.
73
+
74
+ Everything below documents the pre-release history, which predates the
75
+ automated pipeline and was maintained in Keep a Changelog format.
76
+ -->
77
+
78
+ ## 0.1.0 (2025-11-18)
79
+
80
+ Pre-release development. Never published to npm.
81
+
82
+ ### Added
83
+ - Multi-server MCP aggregation with tool name prefixing
84
+ - LLM-based tool description compression (50-80% token reduction)
85
+ - Session-based expansion state management
86
+ - Persistent compression cache with disk storage
87
+ - Management tools API for compression workflow
88
+ - JSON configuration system with environment variable expansion
89
+ - Comprehensive test suite with unit, integration, and E2E tests
90
+ - Real LLM integration testing with Ollama
91
+ - Tool filtering with exclude and noCompress patterns
92
+ - noCompress tool filtering with wildcard pattern support
93
+ - File-based tool compression workflow (outputFile/inputFile parameters)
94
+ - Display-only bypass for noCompress patterns while maintaining cache efficiency
95
+ - Session auto-expiration and cleanup
96
+ - Error handling and server health monitoring
97
+ - Performance optimization with parallel tool loading
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 kdpa-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.