Commit Graph

714 Commits

Author SHA1 Message Date
Matt Holloway a41d683a9b token extraction middleware 401 change
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
2026-01-30 12:26:30 +00:00
Matt Holloway a56a5b58a4 OAuth metadata implementation (#1862)
* initial oauth metadata implementation

* add nolint for GetEffectiveHostAndScheme

* remove CAPI reference

* remove nonsensical example URL

* anonymize

* add oauth tests

* replace custom protected resource metadata handler with our own

* remove unused header

* Update pkg/http/oauth/oauth.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* pass oauth config to mcp handler for token extraction

* chore: retrigger ci

* align types with base branch

* update more types

* initial oauth metadata implementation

* add nolint for GetEffectiveHostAndScheme

* remove CAPI reference

* remove nonsensical example URL

* anonymize

* add oauth tests

* replace custom protected resource metadata handler with our own

* Update pkg/http/oauth/oauth.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: retrigger ci

* update more types

* remove CAPI specific header

* restore mcp path specific logic

* implement better resource path handling for OAuth server

* return auth handler to lib version

* rename to base-path flag

* switch to chi group

* make viper commands http only

* Default to http, but check for TLS in GetEffectiveHostAndScheme

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Adam Holt <me@adamholt.co.uk>
2026-01-30 12:51:49 +01:00
Adam Holt a4d6b20e83 Merge branch 'main' into http-stack-2 2026-01-29 17:40:31 +01:00
Roberto Nacu 2ac77d6af3 Fix feature flag checker and add insiders mode support (#1920)
* wip

* add insiders routes

* remove static checker param and clean up

* add tests for X-MCP-Features header parsing

* fix extractToolNames
2026-01-29 17:37:35 +01:00
Christopher Harrison 1820a0ff11 Apply suggestion from @GeekTrainer 2026-01-28 00:06:55 +00:00
Christopher Harrison 4bb9691390 Update docs/installation-guides/install-copilot-cli.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 00:06:55 +00:00
Christopher Harrison fb9ccebc06 docs: add Copilot CLI installation guide 2026-01-28 00:06:55 +00:00
Adam Holt bbaa877e56 Fix linter issues 2026-01-27 15:50:27 +01:00
Adam Holt 97e8f35dfd Merge branch 'main' into http-stack-2 2026-01-27 15:28:25 +01:00
Adam Holt c696607860 Move feature checker to stdio for now. A new one will be created later for the HTTP server. 2026-01-27 15:17:30 +01:00
Sam Morrow 47412e5c4b Refactor buffer processing for clarity and add edge case tests
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
- Extract storeLine() and accumulate() helper closures to eliminate
  duplicated line processing and truncation logic
- Simplify main loop by using early return pattern (newlineIdx < 0 -> break)
- Add test for empty response body edge case
- Add test for exact maxLineSize boundary condition (10MB)

The refactored code reduces nesting and makes the flow clearer:
accumulate handles byte collection with truncation detection,
storeLine handles ring buffer storage with truncation markers.
v0.30.2
2026-01-27 12:20:47 +01:00
Matt Holloway 4bb1ba9e85 consolidate buffer logic 2026-01-27 12:20:47 +01:00
Matt Holloway a1e82e78f6 add line length truncate buffer 2026-01-27 12:20:47 +01:00
dependabot[bot] 51fc176c1b build(deps): bump golang from 1.25.4-alpine to 1.25.6-alpine
Bumps golang from 1.25.4-alpine to 1.25.6-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.6-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 19:32:36 +01:00
dependabot[bot] 53a5f606ec build(deps): bump SamMorrowDrums/mcp-server-diff from 2.2.0 to 2.3.5
Bumps [SamMorrowDrums/mcp-server-diff](https://github.com/sammorrowdrums/mcp-server-diff) from 2.2.0 to 2.3.5.
- [Release notes](https://github.com/sammorrowdrums/mcp-server-diff/releases)
- [Commits](https://github.com/sammorrowdrums/mcp-server-diff/compare/v2.2.0...v2.3.5)

---
updated-dependencies:
- dependency-name: SamMorrowDrums/mcp-server-diff
  dependency-version: 2.3.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 19:31:45 +01:00
Sam Morrow b1a2b741e8 Add more toolset configurations to mcp-diff workflow
Add toolsets-context and toolsets-issues,context configurations to
improve test coverage for instruction generation with different
toolset combinations.
2026-01-26 18:27:22 +01:00
Sam Morrow e2640de31f Update mcp-server-diff action to v2.2.0
Updates to v2.2.0 which includes server instructions diff support for
detecting issues like #1897.
2026-01-26 18:27:22 +01:00
Sam Morrow 40e21ec565 Fix generateInstructions to use only enabled toolsets
Previously, generateInstructions() iterated over AvailableToolsets() which
returns all toolsets that have tools defined, rather than only the enabled
toolsets based on WithToolsets() configuration.

This caused instructions for all toolsets to be included regardless of which
toolsets were actually enabled, leading to bloated instructions (e.g., 5886
chars vs 1226 chars when only 'repos' toolset is enabled).

Changes:
- Add EnabledToolsets() method to return only enabled toolset metadata
- Update generateInstructions() to use EnabledToolsets()
- Add regression test for the fix

Fixes #1897
2026-01-26 18:27:22 +01:00
Adam Holt 297dcfbbdd Add some request handler and header tests 2026-01-26 17:40:43 +01:00
Adam Holt d810e839dc Actually use the config that is passed 2026-01-26 17:00:02 +01:00
Roberto Nacu 1fad6c54ab Add lockdown mode support for HTTP server (#1876)
* add readonly and toolset support

* address feedback

* forgotten files

* remove redundant checks in WithRequestConfig

* move middleware in RegisterRoutes

* improve comment and add TestParseCommaSeparated

* fix broken TestInventoryFiltersForRequest

* parse X-MCP-Tools into ctx

* clean up TestInventoryFiltersForRequest

* review http args and add lockdown ctx helpers

* parse lockdown header and update GetFlags to retrieve ff from ctx

* clean up and fix tests

* fix GetFlags check, move lockdown parsing in WithRequestConfig and fix broken tests
2026-01-26 16:50:52 +01:00
tonytrg a4670b0470 fix naming
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
v0.30.1
2026-01-26 16:28:36 +01:00
tonytrg 7af51a079a adding correct insiders-mode name 2026-01-26 16:28:36 +01:00
Matt Holloway 60a8c21b8a remove old flags 2026-01-26 16:02:20 +01:00
Jason 0caa26546f docs: add Windows notes for Claude MCP HTTP setup
Build and Test Go Project / build (macos-latest) (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
Docker / build (push) Has been cancelled
Build and Test Go Project / build (ubuntu-latest) (push) Has been cancelled
Build and Test Go Project / build (windows-latest) (push) Has been cancelled
GoReleaser Release / release (push) Has been cancelled
MCP Server Diff / mcp-diff (push) Has been cancelled
Publish to MCP Registry / publish (push) Has been cancelled
Add a Windows/CLI note that `claude mcp add-json` may return "Invalid input"
when adding an HTTP server, and point users to the legacy `claude mcp add
--transport http ...` format.

Also add a Windows (PowerShell) example for the legacy command when the CLI
expects the MCP server name immediately after `claude mcp add`.
v0.30.0
2026-01-26 15:30:52 +01:00
Oleksandr Redko 7569d5cf41 Update Go version requirement in mcpcurl to 1.24 2026-01-26 15:28:04 +01:00
Lee Reilly 51745c5889 Fix typo in OpenAI Codex installation guide link 2026-01-26 15:26:10 +01:00
Oleksandr Redko b1d4aa34e5 chore: workaround LF for Windows 2026-01-26 15:25:49 +01:00
Oleksandr Redko 1410dc1b93 chore: remove unused github.com/fatih/color 2026-01-26 15:25:49 +01:00
Matt Holloway c7c0ee6d5b docs update (2) 2026-01-26 15:07:38 +01:00
Matt Holloway 8287d5fbfc update docs 2026-01-26 15:07:38 +01:00
Matt Holloway 0a62aabc94 default to consolidated actions/projects toolsets and add hold back flag 2026-01-26 15:07:38 +01:00
Roberto Nacu 8d25f46d3f Add readonly and toolset request handlers (#1858)
* add readonly and toolset support

* address feedback

* forgotten files

* remove redundant checks in WithRequestConfig

* move middleware in RegisterRoutes

* improve comment and add TestParseCommaSeparated

* fix broken TestInventoryFiltersForRequest

* parse X-MCP-Tools into ctx

* clean up TestInventoryFiltersForRequest

* Pass context to handler, but use request context for per-request data

* Pass through the context in MCP server creation functions

---------

Co-authored-by: Adam Holt <me@adamholt.co.uk>
2026-01-23 16:58:43 +01:00
github-actions[bot] 8d44553cf6 chore: regenerate license files
Auto-generated by license-check workflow
2026-01-23 11:19:11 +00:00
Adam Holt f816f02d9f Merge branch 'main' into http-stack-2 2026-01-23 12:17:46 +01:00
Tommaso Moro 15e66b3df3 Generate server instructions in Inventory (#1869)
* carry over from https://github.com/github/github-mcp-server/pull/1863

* remove unused inv

* update toolsnap

---------

Co-authored-by: Sam Morrow <info@sam-morrow.com>
2026-01-23 09:57:47 +00:00
Sam Morrow afc2396a0c Fix mcp-diff workflow triggers
Add push triggers to run on:
- Pushes to main branch (catches merges)
- Tag pushes (v*) for release comparisons against previous tags

The pull_request trigger alone doesn't run when commits are pushed
to PR branches via merge or direct push. Adding push triggers ensures
the diff runs in all expected scenarios.
2026-01-23 00:59:27 +01:00
Sam Morrow e559a36060 Rename workflow for mcp-server-diff action 2026-01-23 00:44:12 +01:00
Sam Morrow adfd83b12a Rename to mcp-diff.yml (action renamed to mcp-server-diff) 2026-01-23 00:44:12 +01:00
Sam Morrow 55d22d8320 chore: update mcp-conformance-action to v2 for security fixes 2026-01-23 00:44:12 +01:00
Sam Morrow f850ce31a4 chore: update mcp-conformance-action to v2.3.2 2026-01-23 00:44:12 +01:00
Sam Morrow f244b8a5f2 chore: update mcp-conformance-action to v2.3.0 2026-01-23 00:44:12 +01:00
Sam Morrow 4bbd84e74c ci: upgrade mcp-conformance-action to v2.2.0
v2.2.0 adds automatic HTTP server lifecycle management and
improved documentation for transport configuration.
2026-01-23 00:44:12 +01:00
Sam Morrow e1cde287d4 chore: update conformance action to v2.0.2 with Zod schema fix
Fixes custom message validation error:
'v3Schema.safeParse is not a function'
2026-01-23 00:44:12 +01:00
Sam Morrow a236b66465 chore: update conformance action to v2.0.1 with transport fix 2026-01-23 00:44:12 +01:00
Sam Morrow 2c2613c436 ci: update to mcp-conformance-action@v2.0.0 2026-01-23 00:44:12 +01:00
Sam Morrow bd541e3b0c chore: update mcp-conformance-action to v1.4.6
Uses named pipes for reliable server startup detection instead of
a blind sleep, fixing intermittent failures on slow startup.
2026-01-23 00:44:12 +01:00
Sam Morrow 5ab8874708 chore: update mcp-conformance-action to v1.4.4
Removes stderr log capture entirely for cleaner output and smaller artifacts.
2026-01-23 00:44:12 +01:00
Sam Morrow aec726bd7b chore: update mcp-conformance-action to v1.4.3
Removes embedded JSON schemas from report to stay under GitHub's 1MB
step summary limit. Full data is still available in the artifact.
2026-01-23 00:44:12 +01:00
Sam Morrow d074f7fbee chore: update mcp-conformance-action to v1.4.2
Fixes step summary size limit issue by excluding full stderr logs from
the markdown report. Logs are still available in the uploaded artifact.
2026-01-23 00:44:12 +01:00