Commit Graph

109 Commits

Author SHA1 Message Date
Bill d176b03d56 chore: bump version to 1.2.0
Build and Push Docker Image / build (push) Successful in 21s
v1.2.0-alpha.1
2026-01-02 14:43:50 -05:00
Bill 50c5cfbab1 Merge master into feature/session-proxy 2026-01-02 14:40:37 -05:00
Bill 8484536aae fix(integration): add auth headers and fix mock server routes 2026-01-02 14:36:25 -05:00
Bill b3bfdf97c2 fix(test): increase sleep duration for flaky expiry test 2026-01-02 14:24:10 -05:00
Bill eabddee737 docs: update CHANGELOG for session proxy feature 2026-01-02 14:20:45 -05:00
Bill 3d1ac1fe60 test(integration): add session proxy integration test 2026-01-02 14:17:59 -05:00
Bill ed1d14a4d4 feat(main): add /api/v1/proxy HTTP endpoint 2026-01-02 14:16:24 -05:00
Bill 80e93ab3d9 test(proxy): add permission denial test 2026-01-02 14:08:58 -05:00
Bill 7073182f9e feat(proxy): add method dispatch 2026-01-02 14:07:47 -05:00
Bill caa435d972 feat(proxy): add request parsing 2026-01-02 13:57:38 -05:00
Bill 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
Bill 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
Bill 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
Bill c65ec0489c test(session): add tests for invalid and expired tokens 2026-01-02 13:34:52 -05:00
Bill 681cb0f67c feat(session): add token validation 2026-01-02 13:31:18 -05:00
Bill 3c97ad407c feat(session): cap TTL at 1 hour maximum 2026-01-02 13:27:30 -05:00
Bill 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
Bill 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
Bill 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
Bill 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
Bill 4923d3110c docs: add session proxy implementation plan 2026-01-02 13:04:49 -05:00
Bill 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
Bill 09b6be14df chore: bump version to 1.1.0 and update changelog 2026-01-02 13:03:57 -05:00
Bill 4e75709c4e chore: update uv.lock for version 1.0.0 2026-01-02 13:02:40 -05:00
Bill 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
Bill c6fbadecfc chore(logging): add module exports 2026-01-02 12:52:40 -05:00
Bill 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
Bill 1eb64803be feat(logging): suppress health checks at INFO level 2026-01-02 12:51:36 -05:00
Bill 38ccaa9cb8 feat(logging): initialize logging on server startup 2026-01-02 12:49:59 -05:00
Bill 51e90abd2d feat(logging): add tool call logging to server 2026-01-02 12:47:45 -05:00
Bill d6fb3f4ef0 feat(logging): add get_logger helper 2026-01-02 12:45:17 -05:00
Bill 163b48f1f4 feat(logging): add setup_logging with LOG_LEVEL support 2026-01-02 12:41:40 -05:00
Bill a668baa4d0 feat(logging): add log line formatter 2026-01-02 12:37:19 -05:00
Bill 69a65a68a6 feat(logging): add stats extraction for all tools 2026-01-02 12:35:18 -05:00
Bill ff7dff7571 feat(logging): add token truncation helper 2026-01-02 12:30:09 -05:00
Bill 77027d762e docs: add logging improvements implementation plan 2026-01-02 12:20:26 -05:00
Bill 210cfabb52 chore: add .worktrees to gitignore 2026-01-02 12:17:11 -05:00
Bill a31b2652bb docs: add logging improvements design 2026-01-02 12:15:59 -05:00
Bill 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
Bill 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
Bill 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
Bill 107db82c52 docs: update README with step-by-step first-time setup 2026-01-01 12:10:17 -05:00
Bill 4b89837b43 chore: remove logging and resource limits from prod config 2026-01-01 12:07:47 -05:00
renovate-bot 5aaa943010 Add renovate.json 2026-01-01 16:50:55 +00:00
Bill 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
Bill 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
Bill 7b7eea2f67 fix: use ubuntu-docker runner with Docker CLI 2026-01-01 11:20:21 -05:00
Bill 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
Bill 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
Bill 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