pomerium/authorize
Denis Mishin f9e7308f12
mcp: add mcp_tool to ppl (#5662)
## Summary

Adds `mcp_tool` PPL criterion, that matches MCP tool names like 

```yaml
  - from: https://db.localhost.pomerium.io
    to: http://localhost:3000/mcp
    policy:
      allow:
        and:
          - email: 
              in: ["user@pomerium.com"]
          - mcp_tool:
              in: ["list_tables", "read_table", "search_records"]
    mcp: {}
```

## Related issues

Fix
https://linear.app/pomerium/issue/ENG-2393/mcp-authorize-each-incoming-request-to-an-mcp-route

## User Explanation

<!-- How would you explain this change to the user? If this
change doesn't create any user-facing changes, you can leave
this blank. If filled out, add the `docs` label -->

## Checklist

- [x] reference any related issues
- [x] updated unit tests
- [x] add appropriate label (`enhancement`, `bug`, `breaking`,
`dependencies`, `ci`)
- [x] ready for review
2025-06-23 12:43:43 -04:00
..
checkrequest authorize: refactor logAuthorizeCheck() (#5576) 2025-04-23 09:21:52 -07:00
evaluator mcp: add mcp_tool to ppl (#5662) 2025-06-23 12:43:43 -04:00
internal/store mcp: handle and pass upstream oauth2 tokens (#5595) 2025-05-01 12:42:31 -04:00
access_tracker.go core/go: use hashicorp/go-set (#5278) 2024-10-03 12:59:11 -06:00
access_tracker_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
authorize.go core: more metrics (#5629) 2025-05-29 09:34:41 -06:00
authorize_int_test.go authorize: move IdP token session creator initialization (#5616)d 2025-05-14 13:54:39 -07:00
authorize_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
check_response.go mcp: add global runtime flag (#5604) 2025-05-02 16:33:42 -04:00
check_response_grpc.go authorize: handle gRPC requests (#5400) 2024-12-19 08:46:53 -07:00
check_response_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
databroker.go proxy: use querier cache for user info (#5532) 2025-03-20 09:50:22 -06:00
databroker_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
grpc.go mcp: add mcp_tool to ppl (#5662) 2025-06-23 12:43:43 -04:00
grpc_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
log.go core: more metrics (#5629) 2025-05-29 09:34:41 -06:00
log_test.go chore(deps): bump the go group with 24 updates (#5638) 2025-06-17 09:36:50 -07:00
state.go authorize: move IdP token session creator initialization (#5616)d 2025-05-14 13:54:39 -07:00