├── .claude └── settings.local.json ├── .github └── workflows │ ├── feature.yaml │ └── main.yaml ├── .gitignore ├── .prettierignore ├── .roo └── mcp.json ├── LICENSE ├── README.md ├── docs ├── OAUTH-PROXY.md ├── oauth-advanced-features.md ├── oauth-proxy-features.md ├── oauth-proxy-guide.md └── oauth-python-typescript.md ├── eslint.config.ts ├── jsr.json ├── package.json ├── pnpm-lock.yaml ├── src ├── DiscoveryDocumentCache.test.ts ├── DiscoveryDocumentCache.ts ├── FastMCP.batch-methods.test.ts ├── FastMCP.oauth-proxy.test.ts ├── FastMCP.oauth.test.ts ├── FastMCP.session-context.test.ts ├── FastMCP.session-id.test.ts ├── FastMCP.test.ts ├── FastMCP.ts ├── auth │ ├── OAuthProxy.token-swap.test.ts │ ├── OAuthProxy.ts │ ├── index.ts │ ├── providers │ │ ├── AzureProvider.ts │ │ ├── GitHubProvider.ts │ │ ├── GoogleProvider.ts │ │ └── index.ts │ ├── types.ts │ └── utils │ │ ├── claimsExtractor.ts │ │ ├── consent.ts │ │ ├── diskStore.test.ts │ │ ├── diskStore.ts │ │ ├── jose.d.ts │ │ ├── jwks.ts │ │ ├── jwtIssuer.test.ts │ │ ├── jwtIssuer.ts │ │ ├── pkce.test.ts │ │ ├── pkce.ts │ │ ├── tokenStore.test.ts │ │ └── tokenStore.ts ├── bin │ └── fastmcp.ts └── examples │ ├── addition.ts │ ├── custom-logger.ts │ ├── oauth-integrated-server.ts │ ├── oauth-jwks-example.ts │ ├── oauth-proxy-custom.ts │ ├── oauth-proxy-github.ts │ ├── oauth-proxy-server.ts │ ├── oauth-server.ts │ ├── session-context.ts │ └── session-id-counter.ts ├── tsconfig.json └── vitest.config.js /.claude/settings.local.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/.claude/settings.local.json -------------------------------------------------------------------------------- /.github/workflows/feature.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/.github/workflows/feature.yaml -------------------------------------------------------------------------------- /.github/workflows/main.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/.github/workflows/main.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | !.prettierignore 4 | .idea -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | pnpm-lock.yaml -------------------------------------------------------------------------------- /.roo/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/.roo/mcp.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/README.md -------------------------------------------------------------------------------- /docs/OAUTH-PROXY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/docs/OAUTH-PROXY.md -------------------------------------------------------------------------------- /docs/oauth-advanced-features.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/docs/oauth-advanced-features.md -------------------------------------------------------------------------------- /docs/oauth-proxy-features.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/docs/oauth-proxy-features.md -------------------------------------------------------------------------------- /docs/oauth-proxy-guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/docs/oauth-proxy-guide.md -------------------------------------------------------------------------------- /docs/oauth-python-typescript.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/docs/oauth-python-typescript.md -------------------------------------------------------------------------------- /eslint.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/eslint.config.ts -------------------------------------------------------------------------------- /jsr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/jsr.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /src/DiscoveryDocumentCache.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/DiscoveryDocumentCache.test.ts -------------------------------------------------------------------------------- /src/DiscoveryDocumentCache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/DiscoveryDocumentCache.ts -------------------------------------------------------------------------------- /src/FastMCP.batch-methods.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.batch-methods.test.ts -------------------------------------------------------------------------------- /src/FastMCP.oauth-proxy.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.oauth-proxy.test.ts -------------------------------------------------------------------------------- /src/FastMCP.oauth.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.oauth.test.ts -------------------------------------------------------------------------------- /src/FastMCP.session-context.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.session-context.test.ts -------------------------------------------------------------------------------- /src/FastMCP.session-id.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.session-id.test.ts -------------------------------------------------------------------------------- /src/FastMCP.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.test.ts -------------------------------------------------------------------------------- /src/FastMCP.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/FastMCP.ts -------------------------------------------------------------------------------- /src/auth/OAuthProxy.token-swap.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/OAuthProxy.token-swap.test.ts -------------------------------------------------------------------------------- /src/auth/OAuthProxy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/OAuthProxy.ts -------------------------------------------------------------------------------- /src/auth/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/index.ts -------------------------------------------------------------------------------- /src/auth/providers/AzureProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/providers/AzureProvider.ts -------------------------------------------------------------------------------- /src/auth/providers/GitHubProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/providers/GitHubProvider.ts -------------------------------------------------------------------------------- /src/auth/providers/GoogleProvider.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/providers/GoogleProvider.ts -------------------------------------------------------------------------------- /src/auth/providers/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/providers/index.ts -------------------------------------------------------------------------------- /src/auth/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/types.ts -------------------------------------------------------------------------------- /src/auth/utils/claimsExtractor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/claimsExtractor.ts -------------------------------------------------------------------------------- /src/auth/utils/consent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/consent.ts -------------------------------------------------------------------------------- /src/auth/utils/diskStore.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/diskStore.test.ts -------------------------------------------------------------------------------- /src/auth/utils/diskStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/diskStore.ts -------------------------------------------------------------------------------- /src/auth/utils/jose.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/jose.d.ts -------------------------------------------------------------------------------- /src/auth/utils/jwks.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/jwks.ts -------------------------------------------------------------------------------- /src/auth/utils/jwtIssuer.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/jwtIssuer.test.ts -------------------------------------------------------------------------------- /src/auth/utils/jwtIssuer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/jwtIssuer.ts -------------------------------------------------------------------------------- /src/auth/utils/pkce.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/pkce.test.ts -------------------------------------------------------------------------------- /src/auth/utils/pkce.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/pkce.ts -------------------------------------------------------------------------------- /src/auth/utils/tokenStore.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/tokenStore.test.ts -------------------------------------------------------------------------------- /src/auth/utils/tokenStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/auth/utils/tokenStore.ts -------------------------------------------------------------------------------- /src/bin/fastmcp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/bin/fastmcp.ts -------------------------------------------------------------------------------- /src/examples/addition.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/addition.ts -------------------------------------------------------------------------------- /src/examples/custom-logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/custom-logger.ts -------------------------------------------------------------------------------- /src/examples/oauth-integrated-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-integrated-server.ts -------------------------------------------------------------------------------- /src/examples/oauth-jwks-example.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-jwks-example.ts -------------------------------------------------------------------------------- /src/examples/oauth-proxy-custom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-proxy-custom.ts -------------------------------------------------------------------------------- /src/examples/oauth-proxy-github.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-proxy-github.ts -------------------------------------------------------------------------------- /src/examples/oauth-proxy-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-proxy-server.ts -------------------------------------------------------------------------------- /src/examples/oauth-server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/oauth-server.ts -------------------------------------------------------------------------------- /src/examples/session-context.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/session-context.ts -------------------------------------------------------------------------------- /src/examples/session-id-counter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/src/examples/session-id-counter.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/punkpeye/fastmcp/HEAD/vitest.config.js --------------------------------------------------------------------------------