50c5cfbab1
Merge master into feature/session-proxy
2026-01-02 14:40:37 -05:00
8484536aae
fix(integration): add auth headers and fix mock server routes
2026-01-02 14:36:25 -05:00
b3bfdf97c2
fix(test): increase sleep duration for flaky expiry test
2026-01-02 14:24:10 -05:00
eabddee737
docs: update CHANGELOG for session proxy feature
2026-01-02 14:20:45 -05:00
3d1ac1fe60
test(integration): add session proxy integration test
2026-01-02 14:17:59 -05:00
ed1d14a4d4
feat(main): add /api/v1/proxy HTTP endpoint
2026-01-02 14:16:24 -05:00
80e93ab3d9
test(proxy): add permission denial test
2026-01-02 14:08:58 -05:00
7073182f9e
feat(proxy): add method dispatch
2026-01-02 14:07:47 -05:00
caa435d972
feat(proxy): add request parsing
2026-01-02 13:57:38 -05:00
ba88ba01f3
feat(server): register session token tools
...
Add get_proxy_documentation and request_session_token tools to the MCP
server. The create_server function now accepts an optional token_manager
parameter (SessionTokenManager | None) to maintain backward compatibility.
When token_manager is None, request_session_token returns an error
message instead of creating tokens.
2026-01-02 13:51:47 -05:00
fb6d4af973
feat(tools): add request_session_token tool
...
Add MCP tool for agents to request short-lived session tokens for HTTP
proxy access. The tool validates that agents can only request permissions
they already have (no privilege escalation).
- Validates document access and each requested permission
- Creates session token via SessionTokenManager
- Returns token metadata including proxy URL and expiration
- Includes tests for success case and permission denial scenarios
2026-01-02 13:45:07 -05:00
a7bb11d765
feat(tools): add get_proxy_documentation tool
...
Add a new MCP tool that returns complete documentation for the HTTP
proxy API. This enables agents to get all the information they need
to construct valid proxy requests when writing scripts.
The tool is stateless and returns a static documentation dict
describing endpoints, methods, authentication, and example usage.
2026-01-02 13:39:02 -05:00
c65ec0489c
test(session): add tests for invalid and expired tokens
2026-01-02 13:34:52 -05:00
681cb0f67c
feat(session): add token validation
2026-01-02 13:31:18 -05:00
3c97ad407c
feat(session): cap TTL at 1 hour maximum
2026-01-02 13:27:30 -05:00
110f87e53f
docs: add logging configuration to README
Build and Push Docker Image / build (push) Successful in 8s
v1.1.0
2026-01-02 13:24:38 -05:00
b310ee10a9
feat(session): add SessionTokenManager with token creation
...
Add SessionTokenManager class that creates short-lived session tokens
for HTTP proxy access. Each token includes agent identity, document
scope, permissions, and expiration time.
2026-01-02 13:22:53 -05:00
f48dafc88f
fix(logging): suppress uvicorn access logs and prevent duplicate logging
Build and Push Docker Image / build (push) Successful in 14s
v1.1.0-alpha.3
2026-01-02 13:20:35 -05:00
d80eac4a0d
fix(logging): properly suppress health checks at INFO level
Build and Push Docker Image / build (push) Successful in 14s
v1.1.0-alpha.2
2026-01-02 13:14:52 -05:00
4923d3110c
docs: add session proxy implementation plan
2026-01-02 13:04:49 -05:00
58807ddbd0
Merge branch 'feature/logging-improvements'
Build and Push Docker Image / build (push) Successful in 23s
v1.1.0-alpha.1
2026-01-02 13:04:48 -05:00
09b6be14df
chore: bump version to 1.1.0 and update changelog
2026-01-02 13:03:57 -05:00
4e75709c4e
chore: update uv.lock for version 1.0.0
2026-01-02 13:02:40 -05:00
0cdf06546c
docs: add get_proxy_documentation tool to design
...
Dedicated tool returns complete API spec so agents can write
reusable scripts before requesting session tokens.
2026-01-02 12:58:37 -05:00
c6fbadecfc
chore(logging): add module exports
2026-01-02 12:52:40 -05:00
3cf2400232
docs: add session token proxy design
...
Enables agents to delegate bulk data operations to scripts,
bypassing LLM generation time for data-intensive operations.
Scripts authenticate via short-lived session tokens requested
through MCP, then call a simplified HTTP proxy endpoint.
2026-01-02 12:52:02 -05:00
1eb64803be
feat(logging): suppress health checks at INFO level
2026-01-02 12:51:36 -05:00
38ccaa9cb8
feat(logging): initialize logging on server startup
2026-01-02 12:49:59 -05:00
51e90abd2d
feat(logging): add tool call logging to server
2026-01-02 12:47:45 -05:00
d6fb3f4ef0
feat(logging): add get_logger helper
2026-01-02 12:45:17 -05:00
163b48f1f4
feat(logging): add setup_logging with LOG_LEVEL support
2026-01-02 12:41:40 -05:00
a668baa4d0
feat(logging): add log line formatter
2026-01-02 12:37:19 -05:00
69a65a68a6
feat(logging): add stats extraction for all tools
2026-01-02 12:35:18 -05:00
ff7dff7571
feat(logging): add token truncation helper
2026-01-02 12:30:09 -05:00
77027d762e
docs: add logging improvements implementation plan
2026-01-02 12:20:26 -05:00
210cfabb52
chore: add .worktrees to gitignore
2026-01-02 12:17:11 -05:00
a31b2652bb
docs: add logging improvements design
2026-01-02 12:15:59 -05:00
16691e1d21
Merge pull request 'chore: Configure Renovate' ( #1 ) from renovate/configure into master
...
Build and Push Docker Image / build (push) Successful in 8s
Reviewed-on: #1
v1.0.0
2026-01-01 14:08:06 -05:00
204d00caf4
feat: add host_header config for Docker networking
...
Build and Push Docker Image / build (push) Successful in 14s
When Grist validates the Host header (common with reverse proxy setups),
internal Docker networking fails because requests arrive with
Host: container-name instead of the external domain.
The new host_header config option allows overriding the Host header
sent to Grist while still connecting via internal Docker hostnames.
v1.0.0-alpha.10
2026-01-01 14:06:31 -05:00
ca03d22b97
fix: handle missing config file gracefully in Docker
Build and Push Docker Image / build (push) Successful in 14s
v1.0.0-alpha.9
2026-01-01 12:51:25 -05:00
107db82c52
docs: update README with step-by-step first-time setup
2026-01-01 12:10:17 -05:00
4b89837b43
chore: remove logging and resource limits from prod config
2026-01-01 12:07:47 -05:00
5aaa943010
Add renovate.json
2026-01-01 16:50:55 +00:00
c8cea249bc
chore: use ghcr.io image for production deployment
...
- Update prod docker-compose to pull from ghcr.io/xe138/grist-mcp-server
- Remove debug step from Gitea workflow
2026-01-01 11:48:39 -05:00
ae894ff52e
debug: add environment diagnostics
Build and Push Docker Image / build (push) Successful in 1m56s
v1.0.0-alpha.8
2026-01-01 11:29:06 -05:00
7b7eea2f67
fix: use ubuntu-docker runner with Docker CLI
2026-01-01 11:20:21 -05:00
0f2544c960
fix: use git clone instead of actions/checkout for host runner
Build and Push Docker Image / build (push) Failing after 1s
v1.0.0-alpha.7
2026-01-01 11:15:15 -05:00
d7ce2ad962
fix: use linux_x64 host runner for Docker access
Build and Push Docker Image / test (push) Failing after 1s
Build and Push Docker Image / build (push) Has been skipped
v1.0.0-alpha.6
2026-01-01 11:12:43 -05:00
5892eb5cda
debug: add environment diagnostics to build job
Build and Push Docker Image / test (push) Successful in 6s
Build and Push Docker Image / build (push) Failing after 6s
v1.0.0-alpha.5
2026-01-01 10:59:00 -05:00
9b55dedec5
test: add test job to match ffmpeg-worker structure
Build and Push Docker Image / test (push) Successful in 6s
Build and Push Docker Image / build (push) Failing after 6s
v1.0.0-alpha.4
2026-01-01 10:49:16 -05:00