Commit Graph

479 Commits

Author SHA1 Message Date
Peter Steinberger
b1b45ce272 fix(ci): keep raw output untruncated 2025-12-06 01:45:49 +01:00
Kenn Costales
4a07ceedf3
fix(cli): prevent silent string truncation to 10k characters in raw output (#22)
* fix(cli): prevent string truncation in raw output

Node's util.inspect() has a default maxStringLength of 10000 characters,
causing large MCP responses to be truncated with '... N more characters'.

See: https://nodejs.org/api/util.html#utilinspectobject-options

This affects --output raw and the default output format when it falls
back to printRaw().

Fix: set maxStringLength: null to disable string truncation while
preserving depth: 2 for readable nested object summaries.

Verify (before fix shows 10000, after fix shows 15000):
  node -e "console.log('x count:', (require('util').inspect({t:'x'.repeat(15000)}, {depth:2}).match(/x/g)||[]).length)"
  node -e "console.log('x count:', (require('util').inspect({t:'x'.repeat(15000)}, {depth:2, maxStringLength:null}).match(/x/g)||[]).length)"

* test(cli): ensure raw output not truncated

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-12-06 00:32:57 +00:00
Peter Steinberger
e7e41f7031 chore: update dependencies 2025-12-06 01:24:27 +01:00
dependabot[bot]
2a01bbf1f5 chore(deps-dev): bump express
Bumps the npm_and_yarn group with 1 update in the / directory: [express](https://github.com/expressjs/express).


Updates `express` from 5.1.0 to 5.2.0
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.0
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-04 00:14:02 +00:00
Peter Steinberger
c7353ab013 chore: fix lint and tests 2025-12-03 17:20:09 +00:00
Peter Steinberger
ea3c813eb3 docs: note stdio oauth and vault 2025-12-03 17:16:57 +00:00
Peter Steinberger
471d59c6f5 chore(changelog): note stdio auth helper 2025-12-03 17:16:02 +00:00
Peter Steinberger
4d3552b99b feat(auth): stdio oauth helper 2025-12-03 17:12:35 +00:00
Peter Steinberger
5e1491d86c chore(oauth): clear gmail legacy cache 2025-12-03 16:47:18 +00:00
Peter Steinberger
f9a2e70c56 chore(oauth): rewrite corrupt vault automatically 2025-12-03 16:43:25 +00:00
Peter Steinberger
e1bdcda28e chore(oauth): centralize credentials 2025-12-03 16:41:09 +00:00
Peter Steinberger
53a32e2429 chore: ignore release archives and remove packaged 0.6.6 2025-12-03 08:17:36 +00:00
Peter Steinberger
30f0d6fd07 Update 0.6.6 npm artifacts 2025-11-28 07:40:31 +01:00
Peter Steinberger
c85e5d6082 Update 0.6.6 tarball 2025-11-28 07:39:21 +01:00
Peter Steinberger
e55cf9b904 Release 0.6.6 2025-11-28 07:34:13 +01:00
Peter Steinberger
260fc2993b Fix daemon implicit config handling and docs 2025-11-28 07:33:44 +01:00
Peter Steinberger
f02a59bc89 Add regression tests for ENOENT fix when no config exists
Tests cover the scenario where mcporter is run in a completely empty
environment (no config files anywhere - not in project dir, home dir,
or env vars). Before the fix, this would crash with ENOENT.

Unit tests:
- resolveConfigPath returns explicit=false when no config exists anywhere

E2E tests:
- list command succeeds with empty environment
- list --json outputs valid JSON with empty servers array
- config list succeeds
- config doctor succeeds and shows version banner
2025-11-28 05:30:30 +00:00
Peter Steinberger
27dcaa650f Fix ENOENT crash when running without config file
When no mcporter.json config exists, the CLI was passing the resolved
(but non-existent) config path to loadConfigLayers, which treated it
as an explicit path and tried to read the file, causing ENOENT.

Now only pass configPath when explicitly provided via --config flag
or MCPORTER_CONFIG env var. This lets loadConfigLayers fall back to
editor config imports when no explicit config is specified.
2025-11-28 05:25:52 +00:00
Peter Steinberger
8377d00395 Release 0.6.5 2025-11-26 00:59:57 +01:00
Peter Steinberger
e27def251c
Update README.md 2025-11-26 00:56:14 +01:00
Peter Steinberger
33d354ae5c Mark PNG as binary and replace README banner 2025-11-26 00:52:30 +01:00
Peter Steinberger
3041998f3e Replace README banner with fresh PNG 2025-11-26 00:51:37 +01:00
Peter Steinberger
a78d655162 Restore README banner PNG 2025-11-26 00:50:13 +01:00
Peter Steinberger
fec0ed68f9 Re-encode README hero image 2025-11-26 00:43:15 +01:00
Peter Steinberger
90f8436b5f Fix README banner image URL 2025-11-26 00:42:23 +01:00
Peter Steinberger
69926e91cd Add hidden aliases and README artwork 2025-11-26 00:32:36 +01:00
Peter Steinberger
298685f937 Add Oracle link to Related 2025-11-25 23:26:33 +01:00
Peter Steinberger
42d43f0ee1 Remove external Claude MCP links 2025-11-25 23:26:06 +01:00
Peter Steinberger
dd8ca32903 Add help shortcut regression test 2025-11-25 22:37:16 +01:00
Peter Steinberger
4108a84d88 Handle help tokens for call/auth/list 2025-11-25 22:33:09 +01:00
Peter Steinberger
ded1aea48a chore(test): satisfy biome import order 2025-11-25 17:36:54 +01:00
Peter Steinberger
ba5412a5ba chore(test): make vitest runner cross-platform 2025-11-25 17:35:21 +01:00
Peter Steinberger
df3b317786 chore(deps): override body-parser 2.2.1 2025-11-25 17:32:19 +01:00
Peter Steinberger
3e5af01af3 chore(format): biome transport 2025-11-25 17:27:15 +01:00
Peter Steinberger
e469188f01 release: 0.6.4 2025-11-25 17:23:51 +01:00
Peter Steinberger
e9dfbe134f chore(test): add filter wrapper for vitest 2025-11-25 17:22:44 +01:00
Peter Steinberger
d0cdf3a0c5 feat(list): use cached oauth for non-interactive list 2025-11-25 17:22:37 +01:00
Peter Steinberger
ac36bdde7d chore(config): add github bearer env 2025-11-25 16:58:20 +01:00
Peter Steinberger
68ac6d2a78 Add Notion MCP and switch Linear to OAuth
- Added Notion MCP server with OAuth auth at mcp.notion.com
- Changed Linear from API key auth to OAuth (using /sse endpoint)
- Both now use hosted OAuth flows instead of requiring API keys
2025-11-25 16:02:21 +01:00
Peter Steinberger
1254f79e6e Remove URL from header tagline 2025-11-25 14:11:15 +01:00
Peter Steinberger
6fb2dc456b Normalize header format 2025-11-25 14:04:21 +01:00
Peter Steinberger
f143546064 docs: mention release helper script 2025-11-22 11:17:09 +01:00
Peter Steinberger
a869a55d3d docs: consolidate 0.6.3 changelog entry 2025-11-22 11:01:04 +01:00
Peter Steinberger
6929d7e0e0 docs: name project in changelog header 2025-11-22 10:58:48 +01:00
Peter Steinberger
4725f0e16b docs: add post-release stub and 0.6.4 entry 2025-11-22 10:58:02 +01:00
Peter Steinberger
5702e8ccd3 chore: add phased release helper 2025-11-22 10:55:26 +01:00
Peter Steinberger
bab853fa06 docs: reflect sdk 1.22.0 upgrade 2025-11-22 10:51:29 +01:00
Peter Steinberger
fefe54e1b2 chore: bump sdk to 1.22.0 and adapt inline stdio test 2025-11-22 09:45:31 +01:00
Peter Steinberger
7c8a0c7891 chore: prep 0.6.3 2025-11-22 03:43:46 +01:00
Peter Steinberger
e44b676e27 docs: record sdk 1.22.0 tools/list regression 2025-11-22 03:41:53 +01:00