234c8649f6
docs: add project instructions for Claude Code
2025-12-29 22:05:22 -05:00
93d43eac99
docs: update README for SSE transport
...
- Update running instructions to show SSE endpoints
- Replace stdio-based MCP client config with URL-based SSE config
- Add examples for local and remote deployment
2025-12-29 22:03:23 -05:00
906a6e3b80
chore: add .dockerignore for cleaner builds
2025-12-29 20:47:29 -05:00
24436ccc01
fix: correct file ownership for non-root user in Docker
...
Add --chown=appuser:appuser to COPY commands in runtime stage to ensure
the appuser can read the copied files. Without this, Python fails with
PermissionError when importing modules.
2025-12-29 20:47:21 -05:00
cb5604a6a7
docs: add Docker deployment instructions
2025-12-29 20:20:01 -05:00
642fa2c009
feat: add CI workflow for Docker builds
2025-12-29 20:16:44 -05:00
2de5f81871
feat: add .env.example template
2025-12-29 20:13:07 -05:00
abb22fc886
feat: add docker-compose.yaml
2025-12-29 20:10:29 -05:00
013d1f88a2
feat: add multi-stage Dockerfile
2025-12-29 20:06:38 -05:00
374e4f669b
feat: replace stdio with SSE transport
2025-12-29 20:02:49 -05:00
4229179e71
feat: add SSE transport dependencies
2025-12-29 19:44:00 -05:00
6782861cff
docs: add Docker deployment implementation plan
2025-12-29 19:37:59 -05:00
efe3ddf27b
docs: add Docker deployment design
...
Design for containerizing grist-mcp with:
- Multi-stage Dockerfile with Python 3.14
- SSE transport for remote server operation
- Docker Compose for local deployment
- Single adaptive CI workflow for Gitea and GitHub
- Semantic version tagging
2025-12-29 19:35:54 -05:00
ed612694fe
fix: add security hardening and documentation for deployment
...
- Add document validation to prevent NoneType crash when document not configured
- Add SQL query validation (SELECT only, no multi-statement)
- Add 30-second HTTP request timeout
- Fix filter parameter JSON encoding for get_records
- Add return type annotation to get_document
- Add tests for document lookup and SQL validation
- Add comprehensive README with usage instructions
2025-12-29 18:42:36 -05:00
f716e5d37e
fix: implement token-based authentication at server startup
...
- Server now authenticates from GRIST_MCP_TOKEN env var or token parameter
- Removed unused code (_set_agent, nonlocal check)
- Added AuthError handling in main.py
- Updated test to pass token explicitly
2025-12-03 15:07:06 -05:00
1ed5554944
feat: add MCP server with all tools registered
2025-12-03 15:00:48 -05:00
9b759cfe76
feat: add schema tools (create_table, add_column, modify_column, delete_column)
2025-12-03 14:53:17 -05:00
eb0bf3eaf6
feat: add write tools (add_records, update_records, delete_records)
2025-12-03 14:49:32 -05:00
0a6f699d30
feat: add read tools (list_tables, describe_table, get_records, sql_query)
2025-12-03 14:45:55 -05:00
a3167bec63
feat: add list_documents discovery tool
2025-12-03 14:42:45 -05:00
c4ddc3b1b0
feat: add Grist API client
2025-12-03 14:34:37 -05:00
716de523d8
feat: add authentication and authorization
2025-12-03 14:30:32 -05:00
43fbd2dced
feat: add config loading with env var substitution
2025-12-03 14:26:53 -05:00
2b79ab2f32
feat: initialize project with uv and dependencies
2025-12-03 14:23:00 -05:00
95f2f24b1e
docs: add detailed implementation plan
2025-12-03 14:18:19 -05:00
c1d29f1a33
Add grist-mcp design document
2025-12-03 14:01:10 -05:00