Commit graph

1,869 commits

Author SHA1 Message Date
Ola Hungerford
acc0530988
Merge branch 'main' into fix-704-trim-command-whitespace 2025-08-20 20:47:37 -07:00
Nathan Heaps
9e47d7d3c1 fix: correct stdout buffering issues in spawned processes
Adds stdio inheritance to prevent Node.js from dropping console output after 8192 characters due to premature stdout pipe closure before output finishes flushing. Without this, calls like this would truncate after 8192 characters, leading to broken json output:

```
npx --node-options=--inspect -y @modelcontextprotocol/inspector --cli --config .mcp.json --server notion --method tools/list
```

```
# notion mcp server
    "notion": {
      "//": "doppler needs to expose OPENAPI_MCP_HEADERS (and NOTION_TOKEN within it)",
      "command": "bash",
      "args": [
        "-c",
        "doppler run -p 'mcp' -c \"user_${MCP_USER:-$USER}\" -- npx -y @notionhq/notion-mcp-server"
      ]
    },
```

You can see this in their [openapi spec](https://github.com/makenotion/notion-mcp-server/blob/main/scripts/notion-openapi.json), which powers their MCP server.
2025-08-20 21:06:06 -04:00
Ola Hungerford
5598cff694
Merge branch 'main' into update-dependencies 2025-08-20 07:35:50 -07:00
Ola Hungerford
ade237ee6e
Merge pull request #714 from modelcontextprotocol/halter73/restore-resource
Restore AuthDebuggerState.resource as URL
2025-08-20 07:19:07 -07:00
Ola Hungerford
bb95fccdf1
Merge branch 'main' into halter73/restore-resource 2025-08-20 07:16:19 -07:00
Jenn Newton
650f3090d2
fix: add validation for OAuth redirect URLs
- Create shared validateRedirectUrl utility to centralize URL validation
- Only allow HTTP and HTTPS protocols in OAuth authorization URLs
- Fix three vulnerable redirect paths that bypassed validation:
  - AuthDebugger.tsx: Direct window.location.href redirect
  - OAuthFlowProgress.tsx: window.open() without validation
  - OAuthFlowProgress.tsx: Direct anchor href attribute
- Add comprehensive test coverage for URL validation
- Update existing auth.ts to use shared validation utility

This prevents malicious MCP servers from injecting javascript: or data:
protocol URLs that would execute XSS attacks when users are redirected
to the authorization endpoint.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 10:08:20 -03:00
Ola Hungerford
0e30df8801
Merge branch 'main' into fix-704-trim-command-whitespace 2025-08-19 21:12:41 -07:00
Cameron Roberts
1f73530573
Merge branch 'main' into tool-search 2025-08-19 22:22:01 +01:00
Cliff Hall
7fc3de7648
Merge pull request #731 from olaservo/setup-prettier-precommit
Setup prettier precommit
2025-08-19 13:03:01 -04:00
Ola Hungerford
df6152ee35
Update npm prepare script to include husky 2025-08-19 06:57:09 -07:00
Ola Hungerford
fa9b99b5df
Update .husky/pre-commit
Co-authored-by: Cliff Hall <cliff@futurescale.com>
2025-08-19 06:55:29 -07:00
Cameron Roberts
092f2ed6e3
Merge branch 'main' into tool-search 2025-08-18 23:08:55 +01:00
Stephen Halter
36a30fa3db prettier --write client/src/components/OAuthDebugCallback.tsx 2025-08-18 13:01:13 -07:00
olaservo
420f9a7b9a Remove test formatting file 2025-08-18 08:53:49 -07:00
olaservo
de1754633e Test pre-commit formatting hook with intentionally bad formatting 2025-08-18 08:52:33 -07:00
olaservo
b33dabe8dc Fix: restore original 'prepare' script that was overwritten by husky init
- Restore 'prepare': 'npm run build' for proper package installation
- Husky pre-commit hooks remain functional via existing .husky directory
2025-08-18 08:50:57 -07:00
olaservo
610cbddd35 Merge remote-tracking branch 'upstream/main' into setup-prettier-precommit 2025-08-18 08:45:53 -07:00
olaservo
f7b1cd6f43 Setup prettier pre-commit formatting with husky and lint-staged
- Install husky and lint-staged dev dependencies
- Configure pre-commit hook to run prettier on staged files
- Only format changed files to improve performance
- Prevents CI formatting failures by formatting locally
2025-08-18 08:43:09 -07:00
Ola Hungerford
50114363d5
Merge pull request #730 from cliffhall/bump-to-version-0.16.5 0.16.5
bump version to 0.16.5
2025-08-18 08:41:38 -07:00
cliffhall
2f93d70364 bump version to 0.16.5 2025-08-18 11:37:41 -04:00
Ola Hungerford
e2fe3da358
Merge pull request #677 from JLLeitschuh/patch-1
Add warning for DANGEROUSLY_OMIT_AUTH usage
2025-08-18 08:19:52 -07:00
Cliff Hall
8be6d90830
Merge pull request #722 from cliffhall/align-oauth-flows
Align Quick OAuth Flow and Simple Connect Flow with Guided OAuth Flow behavior
2025-08-18 11:17:39 -04:00
cliffhall
28c0bf176a Update Typescript SDK version to latest 2025-08-18 11:13:49 -04:00
Ola Hungerford
44a40cdd57
Merge branch 'main' into align-oauth-flows 2025-08-18 07:49:27 -07:00
Cameron Roberts
ae9246314c
Merge branch 'main' into tool-search 2025-08-18 15:30:15 +01:00
Ola Hungerford
6330cb4b17
Merge pull request #421 from olaservo/reverse-env-order-for-cli-stdio
Reverse env variable sourcing order
2025-08-18 07:08:38 -07:00
Ola Hungerford
44b4417951
Merge branch 'main' into reverse-env-order-for-cli-stdio 2025-08-18 06:57:16 -07:00
olaservo
5bbbd64555 Update CC GitHub Action to have same config as reference servers repo action 2025-08-18 06:15:15 -07:00
Cameron Roberts
842d710235 feat: added aria-label so no longer need this comment 2025-08-17 23:47:07 +01:00
Cameron Roberts
c25f84e6bb feat: adjust UT to have better test case 2025-08-17 23:46:16 +01:00
Cameron Roberts
a733b239a6 feat: Add UT for the added search functionality to the ListPane component 2025-08-17 23:13:00 +01:00
Cameron Roberts
fbce75aba0 feat: Add search functionality to the ListPane component which exposes it for
- Resources
- Prompts
- Tools
2025-08-17 23:10:35 +01:00
cliffhall
3adb1dd5c9 Prettier 2025-08-15 18:55:15 -04:00
cliffhall
5323d4d8f4 Fix connect button behavior for Oauth by making sure that scope is included in client metadata when client is registered.
- In auth.ts
    - in InspectorOAuthClientProvider constructor
      - add optional scope param
      - set instance var this.scope to scope param
    - in clientMetadata getter
      - add scope param set to this.scope or ""
  - in useConnection.ts
    - in handleAuthError handler
      - move instantiation of serverAuthProvider until after scope has been determined
      - pass scope to InspectorOAuthClientProvider constructor
2025-08-15 18:40:21 -04:00
Ola Hungerford
f2865a36e3
Merge branch 'main' into halter73/restore-resource 2025-08-15 14:34:48 -07:00
cliffhall
94f44c7b57 Prettier 2025-08-15 17:19:27 -04:00
cliffhall
0831e812bb Align Quick OAuth Flow with Guided OAuth Flow behavior
- In oauth-state-machine.ts
  - in token_request transition
    - ensure resource is URL type, not string
    - this fixes Quick flow which was sending string, while guided was using proper URL type and working
2025-08-15 14:44:51 -04:00
Raghunath Prabhakar
e5d1fe29e5
Merge branch 'main' into docs/utils-jsdoc 2025-08-15 10:42:35 -05:00
Richard Michael
410f792d29 Remove redundant mock and timer clear 2025-08-14 14:25:51 -07:00
Richard Michael
34938b72d3 Tidy test descriptions and titles 2025-08-14 14:25:51 -07:00
Richard Michael
399e16afa4 Re-organize Sidebar tests
- Tests were mistakenly grouped in Environment Variables block
- Tests follow UI order, top-to-bottom
2025-08-14 14:25:51 -07:00
Richard Michael
9a1540c79a Trim whitespace from command query parameter 2025-08-14 14:25:51 -07:00
Richard Michael
8d8af870ba Trim whitespace from command on blur 2025-08-14 14:25:51 -07:00
Cliff Hall
24ef31905e
Merge pull request #701 from btiernay/feat/oauth-scope-discovery-consistency 0.16.4
feat: unify OAuth scope discovery between automatic and manual flows
2025-08-14 15:11:53 -04:00
Bobby Tiernay
739e0aaa68
fix: lint 2025-08-14 15:00:54 -04:00
Bobby Tiernay
34b39530d1
fix: failing test from SDK update 2025-08-14 14:02:29 -04:00
Bobby Tiernay
74900fca5d
feat: unify OAuth scope discovery between automatic and manual flows
- Add shared discoverScopes function in auth.ts with resource metadata preference
- Update automatic flow (handleAuthError) to use dynamic scope discovery
- Update manual flow (OAuth state machine) to use shared scope discovery logic
- Add comprehensive test suite for discoverScopes function (11 test cases)
- Fix empty array handling to return undefined instead of empty string
- Maintain backward compatibility with existing oauthScope parameter
- All quality gates pass: TypeScript, linting, formatting, and tests

Resolves OAuth scope discovery inconsistency where automatic flow used static
scopes while manual flow used metadata scopes. Both flows now use identical
shared logic with proper resource metadata preference.
2025-08-14 14:02:29 -04:00
Stephen Halter
10b4681e3c Also fix authorizationUrl type 2025-08-14 10:47:15 -07:00
Cliff Hall
c5047ca30a
Merge pull request #715 from modelcontextprotocol/fweinberger/fix-sensitive-local-storage
fweinberger/fix sensitive local storage
2025-08-14 13:23:44 -04:00
Phil Freo
d7927ec8dc
Add documentation for CLI header support
- Document --header flag usage with examples
- Explain header format requirements
- Clarify transport support (HTTP, SSE, not STDIO)
- Add authentication examples with API keys and bearer tokens
2025-08-14 12:20:40 -04:00