mcp-quickbase 2.0.5 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.crewchief/runs/state.json +3 -0
- package/.mcp.json +6 -32
- package/crewchief.config.js +31 -0
- package/dist/client/quickbase.d.ts +7 -2
- package/dist/client/quickbase.js +64 -51
- package/dist/client/quickbase.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/server.d.ts +3 -3
- package/dist/mcp/server.js +21 -17
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp-stdio-server.js +64 -49
- package/dist/mcp-stdio-server.js.map +1 -1
- package/dist/server.js +84 -83
- package/dist/server.js.map +1 -1
- package/dist/tools/apps/create_app.d.ts +2 -2
- package/dist/tools/apps/create_app.js +23 -23
- package/dist/tools/apps/create_app.js.map +1 -1
- package/dist/tools/apps/index.d.ts +4 -4
- package/dist/tools/apps/index.js +3 -3
- package/dist/tools/apps/list_tables.d.ts +2 -2
- package/dist/tools/apps/list_tables.js +27 -26
- package/dist/tools/apps/list_tables.js.map +1 -1
- package/dist/tools/apps/update_app.d.ts +2 -2
- package/dist/tools/apps/update_app.js +28 -26
- package/dist/tools/apps/update_app.js.map +1 -1
- package/dist/tools/base.d.ts +3 -3
- package/dist/tools/base.js +7 -7
- package/dist/tools/base.js.map +1 -1
- package/dist/tools/configure_cache.d.ts +3 -3
- package/dist/tools/configure_cache.js +16 -16
- package/dist/tools/configure_cache.js.map +1 -1
- package/dist/tools/fields/create_field.d.ts +8 -7
- package/dist/tools/fields/create_field.js +39 -29
- package/dist/tools/fields/create_field.js.map +1 -1
- package/dist/tools/fields/delete_field.d.ts +79 -0
- package/dist/tools/fields/delete_field.js +105 -0
- package/dist/tools/fields/delete_field.js.map +1 -0
- package/dist/tools/fields/get_field.d.ts +91 -0
- package/dist/tools/fields/get_field.js +82 -0
- package/dist/tools/fields/get_field.js.map +1 -0
- package/dist/tools/fields/index.d.ts +5 -3
- package/dist/tools/fields/index.js +11 -5
- package/dist/tools/fields/index.js.map +1 -1
- package/dist/tools/fields/update_field.d.ts +7 -15
- package/dist/tools/fields/update_field.js +39 -38
- package/dist/tools/fields/update_field.js.map +1 -1
- package/dist/tools/files/download_file.d.ts +2 -2
- package/dist/tools/files/download_file.js +35 -35
- package/dist/tools/files/download_file.js.map +1 -1
- package/dist/tools/files/index.d.ts +3 -3
- package/dist/tools/files/index.js +3 -3
- package/dist/tools/files/upload_file.d.ts +2 -2
- package/dist/tools/files/upload_file.js +52 -44
- package/dist/tools/files/upload_file.js.map +1 -1
- package/dist/tools/index.d.ts +12 -12
- package/dist/tools/index.js +2 -2
- package/dist/tools/records/bulk_create_records.d.ts +2 -2
- package/dist/tools/records/bulk_create_records.js +28 -28
- package/dist/tools/records/bulk_create_records.js.map +1 -1
- package/dist/tools/records/bulk_update_records.d.ts +2 -2
- package/dist/tools/records/bulk_update_records.js +27 -27
- package/dist/tools/records/bulk_update_records.js.map +1 -1
- package/dist/tools/records/create_record.d.ts +2 -2
- package/dist/tools/records/create_record.js +40 -40
- package/dist/tools/records/create_record.js.map +1 -1
- package/dist/tools/records/index.d.ts +6 -6
- package/dist/tools/records/index.js +3 -3
- package/dist/tools/records/query_records.d.ts +3 -3
- package/dist/tools/records/query_records.js +82 -78
- package/dist/tools/records/query_records.js.map +1 -1
- package/dist/tools/records/update_record.d.ts +2 -2
- package/dist/tools/records/update_record.js +31 -29
- package/dist/tools/records/update_record.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.js +1 -1
- package/dist/tools/reports/index.d.ts +2 -2
- package/dist/tools/reports/index.js +3 -3
- package/dist/tools/reports/run_report.d.ts +3 -3
- package/dist/tools/reports/run_report.js +29 -29
- package/dist/tools/reports/run_report.js.map +1 -1
- package/dist/tools/tables/create_table.d.ts +2 -49
- package/dist/tools/tables/create_table.js +26 -49
- package/dist/tools/tables/create_table.js.map +1 -1
- package/dist/tools/tables/get_table_fields.d.ts +2 -2
- package/dist/tools/tables/get_table_fields.js +25 -25
- package/dist/tools/tables/get_table_fields.js.map +1 -1
- package/dist/tools/tables/index.d.ts +4 -4
- package/dist/tools/tables/index.js +3 -3
- package/dist/tools/tables/update_table.d.ts +2 -2
- package/dist/tools/tables/update_table.js +28 -26
- package/dist/tools/tables/update_table.js.map +1 -1
- package/dist/tools/test_connection.d.ts +2 -2
- package/dist/tools/test_connection.js +28 -28
- package/dist/tools/test_connection.js.map +1 -1
- package/dist/types/api.d.ts +1 -1
- package/dist/types/mcp.d.ts +1 -1
- package/dist/utils/cache.js +16 -16
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/file.js +44 -40
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/logger.js +30 -28
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/retry.js +10 -10
- package/dist/utils/retry.js.map +1 -1
- package/dist/utils/validation.d.ts +1 -1
- package/dist/utils/validation.js +39 -36
- package/dist/utils/validation.js.map +1 -1
- package/docs/README.md +6 -0
- package/docs/future-improvements.md +33 -0
- package/docs/migration-guide.md +160 -0
- package/docs/release-notes.md +89 -0
- package/package.json +5 -4
- /package/{HARDENING_SUMMARY.md → docs/hardening-summary.md} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/docs/README.md
CHANGED
|
@@ -22,6 +22,12 @@ This directory contains comprehensive documentation for Quickbase MCP Server v2.
|
|
|
22
22
|
- **[Performance Benchmarks](performance-benchmarks.md)** - Performance metrics and optimization
|
|
23
23
|
- **[QA Report](final-qa-report.md)** - Quality assurance testing results
|
|
24
24
|
|
|
25
|
+
### History & Releases
|
|
26
|
+
- **[Hardening Summary](hardening-summary.md)** - Security hardening decisions and remaining improvements
|
|
27
|
+
- **[Migration Guide](migration-guide.md)** - V1 to V2 migration instructions
|
|
28
|
+
- **[Release Notes](release-notes.md)** - Version history and release information
|
|
29
|
+
- **[Future Improvements](future-improvements.md)** - Roadmap items for future development
|
|
30
|
+
|
|
25
31
|
## 🎯 Quick Links
|
|
26
32
|
|
|
27
33
|
- **New users**: Start with [Quick Start Guide](quickstart.md)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Future Improvements
|
|
2
|
+
|
|
3
|
+
This document captures improvement items for future consideration. These items were extracted from the v2.0.0 release process and can be converted to SDD tickets when prioritized.
|
|
4
|
+
|
|
5
|
+
## Type Safety
|
|
6
|
+
|
|
7
|
+
- **Reduce TypeScript `any` types**: 72 ESLint warnings exist for `any` types in API response handling. While not critical for security, improving type definitions would enhance code maintainability and catch potential bugs at compile time.
|
|
8
|
+
|
|
9
|
+
## Test Coverage
|
|
10
|
+
|
|
11
|
+
- **Increase overall test coverage to 80%+**: Current coverage is 42.57%. Higher coverage would improve confidence in code changes and reduce regression risk.
|
|
12
|
+
- **Improve file operations test coverage**: File operations currently have only 20% coverage. Given the security-critical nature of file handling, these deserve comprehensive tests.
|
|
13
|
+
- **Add dedicated test files for tools**: Many tools lack dedicated test files. Each tool should have corresponding unit tests covering success paths, error handling, and edge cases.
|
|
14
|
+
|
|
15
|
+
## Code Quality
|
|
16
|
+
|
|
17
|
+
- **Refactor duplicate path validation in file upload tool**: The file upload tool contains duplicate path validation logic that could be refactored to use the centralized file utilities, improving consistency and reducing maintenance burden.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Add webhook support**: Enable real-time notifications from Quickbase events to external systems.
|
|
22
|
+
- **Implement streaming for large datasets**: Handle large query results more efficiently without loading everything into memory at once.
|
|
23
|
+
- **Support for Quickbase formulas and relationships**: Add tools or capabilities to work with Quickbase formula fields and table relationships.
|
|
24
|
+
|
|
25
|
+
## Enhancement
|
|
26
|
+
|
|
27
|
+
- **Add circuit breaker pattern to retry logic**: While exponential backoff exists, adding a circuit breaker pattern would prevent overwhelming failing services and improve system resilience.
|
|
28
|
+
- **Secure token storage**: User token is currently stored in the config object. Consider more secure storage mechanisms for sensitive credentials.
|
|
29
|
+
- **Add more comprehensive logging options**: Expand logging configuration to support different output formats, log levels per component, and structured logging for production environments.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
*Note: These items are documented for planning purposes and can be converted to formal SDD tickets or epics when development capacity allows. Items are prioritized by category - Type Safety and Test Coverage items improve code quality, while Features and Enhancement items add new capabilities.*
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Migration Guide: V1 to V2
|
|
2
|
+
|
|
3
|
+
This guide helps existing users upgrade from v1 to v2 of Quickbase MCP Server.
|
|
4
|
+
|
|
5
|
+
## 🎯 Key Benefits of V2
|
|
6
|
+
|
|
7
|
+
- **Pure TypeScript**: No Python dependencies required
|
|
8
|
+
- **Better Performance**: ~60% faster startup, 40% less memory usage
|
|
9
|
+
- **Type Safety**: Full TypeScript with strict mode
|
|
10
|
+
- **Improved Error Handling**: Detailed error messages with context
|
|
11
|
+
- **Better Testing**: More comprehensive test coverage
|
|
12
|
+
- **Enhanced Caching**: Intelligent caching with configurable TTL
|
|
13
|
+
|
|
14
|
+
## 📋 Pre-Migration Checklist
|
|
15
|
+
|
|
16
|
+
1. **Backup your configuration**:
|
|
17
|
+
- Save your current `.env` file
|
|
18
|
+
- Note your Claude Desktop configuration
|
|
19
|
+
- Document any custom modifications
|
|
20
|
+
|
|
21
|
+
2. **Check Node.js version**:
|
|
22
|
+
- V2 requires Node.js 18+ (v1 required 14+)
|
|
23
|
+
- Run `node --version` to check
|
|
24
|
+
|
|
25
|
+
## 🚀 Migration Steps
|
|
26
|
+
|
|
27
|
+
### Step 1: Pull Latest Changes
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
git pull origin main
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Step 2: Install Dependencies
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Remove old dependencies
|
|
37
|
+
rm -rf node_modules package-lock.json
|
|
38
|
+
|
|
39
|
+
# Install v2 dependencies
|
|
40
|
+
npm install
|
|
41
|
+
|
|
42
|
+
# Build the TypeScript project
|
|
43
|
+
npm run build
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Step 3: Update Configuration
|
|
47
|
+
|
|
48
|
+
1. **Environment Variables** - Your existing `.env` file is compatible! Just ensure it's in the root directory.
|
|
49
|
+
|
|
50
|
+
2. **Claude Desktop Configuration** - Update your Claude configuration file:
|
|
51
|
+
|
|
52
|
+
**Old (v1):**
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"mcpServers": {
|
|
56
|
+
"quickbase": {
|
|
57
|
+
"command": "node",
|
|
58
|
+
"args": ["path/to/mcp-quickbase/dist/mcp-stdio-server.js"],
|
|
59
|
+
"env": {
|
|
60
|
+
"QUICKBASE_REALM_HOST": "your-realm.quickbase.com",
|
|
61
|
+
"QUICKBASE_USER_TOKEN": "your-token"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**New (v2):**
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"mcpServers": {
|
|
72
|
+
"quickbase": {
|
|
73
|
+
"command": "node",
|
|
74
|
+
"args": ["path/to/mcp-quickbase/dist/mcp-stdio-server.js"],
|
|
75
|
+
"env": {
|
|
76
|
+
"QUICKBASE_REALM_HOST": "your-realm.quickbase.com",
|
|
77
|
+
"QUICKBASE_USER_TOKEN": "your-token"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Note: Only the path changed from `src/quickbase/server.js` to `dist/mcp-stdio-server.js`
|
|
85
|
+
|
|
86
|
+
### Step 4: Restart Claude Desktop
|
|
87
|
+
|
|
88
|
+
After updating the configuration, restart Claude Desktop for changes to take effect.
|
|
89
|
+
|
|
90
|
+
### Step 5: Test the Connection
|
|
91
|
+
|
|
92
|
+
In Claude, test that the connector is working:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Can you test the Quickbase connection?
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## 🔄 What's Changed
|
|
99
|
+
|
|
100
|
+
### Tool Names and Parameters
|
|
101
|
+
All tool names and parameters remain the same! Your existing prompts and workflows will continue to work.
|
|
102
|
+
|
|
103
|
+
### Performance Improvements
|
|
104
|
+
- Startup time reduced from 5+ seconds to ~2 seconds
|
|
105
|
+
- Memory usage reduced by ~40%
|
|
106
|
+
- Caching is now more intelligent and configurable
|
|
107
|
+
|
|
108
|
+
### Error Messages
|
|
109
|
+
Error messages are now more detailed and helpful, but the structure remains compatible.
|
|
110
|
+
|
|
111
|
+
### New Features in V2
|
|
112
|
+
- Better pagination support for large datasets
|
|
113
|
+
- Improved file upload/download reliability
|
|
114
|
+
- Enhanced bulk operations performance
|
|
115
|
+
- More comprehensive validation
|
|
116
|
+
|
|
117
|
+
## 🚧 Troubleshooting
|
|
118
|
+
|
|
119
|
+
### Issue: "Cannot find module" error
|
|
120
|
+
**Solution**: Ensure you ran `npm run build` after installing dependencies.
|
|
121
|
+
|
|
122
|
+
### Issue: Connection fails after migration
|
|
123
|
+
**Solution**:
|
|
124
|
+
1. Check that your `.env` file is in the root directory
|
|
125
|
+
2. Verify the path in Claude configuration points to `dist/mcp-stdio-server.js`
|
|
126
|
+
3. Ensure Node.js 18+ is installed
|
|
127
|
+
|
|
128
|
+
### Issue: Python-related errors
|
|
129
|
+
**Solution**: V2 doesn't use Python! These errors indicate you're still using v1. Check your Claude configuration path.
|
|
130
|
+
|
|
131
|
+
### Issue: Cache behavior different
|
|
132
|
+
**Solution**: V2 has improved caching. You can configure it via:
|
|
133
|
+
```env
|
|
134
|
+
QUICKBASE_CACHE_ENABLED=true
|
|
135
|
+
QUICKBASE_CACHE_TTL=3600 # seconds
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 📞 Getting Help
|
|
139
|
+
|
|
140
|
+
1. Check the [README](../README.md) for updated documentation
|
|
141
|
+
2. Review the [Quick Start Guide](quickstart.md#-troubleshooting) for common issues
|
|
142
|
+
3. Open an issue on GitHub if you encounter problems
|
|
143
|
+
|
|
144
|
+
## 🔙 Rolling Back (Not Recommended)
|
|
145
|
+
|
|
146
|
+
If you must roll back to v1:
|
|
147
|
+
|
|
148
|
+
1. The v1 code is preserved in `v1-legacy/` for reference
|
|
149
|
+
2. However, v1 is no longer maintained or supported
|
|
150
|
+
3. We strongly recommend working through any v2 migration issues instead
|
|
151
|
+
|
|
152
|
+
## ✅ Post-Migration Checklist
|
|
153
|
+
|
|
154
|
+
- [ ] Claude Desktop restarted
|
|
155
|
+
- [ ] Connection test successful
|
|
156
|
+
- [ ] Basic operations working (query, create, update)
|
|
157
|
+
- [ ] File operations tested (if used)
|
|
158
|
+
- [ ] Performance noticeably improved
|
|
159
|
+
|
|
160
|
+
Congratulations! You've successfully migrated to v2. Enjoy the improved performance and reliability!
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# v2 Release Notes
|
|
2
|
+
|
|
3
|
+
## 🎉 Major Release: v2.0.0
|
|
4
|
+
|
|
5
|
+
This release represents a complete rewrite of Quickbase MCP Server with significant improvements in performance, reliability, and developer experience.
|
|
6
|
+
|
|
7
|
+
### 🚀 Key Improvements
|
|
8
|
+
|
|
9
|
+
#### Architecture
|
|
10
|
+
- **Pure TypeScript Implementation**: Removed Python dependency completely
|
|
11
|
+
- **Type Safety**: Full TypeScript with strict mode enabled
|
|
12
|
+
- **Modern Patterns**: Async/await throughout, no callbacks
|
|
13
|
+
- **Clean Architecture**: Layered design with clear separation of concerns
|
|
14
|
+
|
|
15
|
+
#### Performance
|
|
16
|
+
- **60% Faster Startup**: ~2 seconds vs 5+ seconds in v1
|
|
17
|
+
- **40% Less Memory**: Optimized resource usage
|
|
18
|
+
- **Intelligent Caching**: Configurable TTL with automatic invalidation
|
|
19
|
+
- **Rate Limiting**: Built-in protection against API overload
|
|
20
|
+
|
|
21
|
+
#### Reliability
|
|
22
|
+
- **Retry Logic**: Automatic exponential backoff for transient failures
|
|
23
|
+
- **Better Error Handling**: Structured errors with detailed context
|
|
24
|
+
- **Session Management**: Proper lifecycle management
|
|
25
|
+
- **Graceful Degradation**: Continues operating even with partial failures
|
|
26
|
+
|
|
27
|
+
#### Developer Experience
|
|
28
|
+
- **Comprehensive Types**: Full type definitions for all APIs
|
|
29
|
+
- **Better Testing**: Jest-based test suite with 45%+ coverage
|
|
30
|
+
- **ESLint + Prettier**: Consistent code formatting
|
|
31
|
+
- **Improved Documentation**: Clear examples and migration guide
|
|
32
|
+
|
|
33
|
+
### 📦 What's Included
|
|
34
|
+
|
|
35
|
+
#### Tools (18 total)
|
|
36
|
+
- **Connection**: test_connection, configure_cache
|
|
37
|
+
- **Apps**: create_app, update_app, list_tables
|
|
38
|
+
- **Tables**: create_table, update_table, get_table_fields
|
|
39
|
+
- **Fields**: create_field, update_field
|
|
40
|
+
- **Records**: query_records, create_record, update_record, bulk_create_records, bulk_update_records
|
|
41
|
+
- **Files**: upload_file, download_file
|
|
42
|
+
- **Reports**: run_report
|
|
43
|
+
|
|
44
|
+
#### Configuration
|
|
45
|
+
- Environment-based configuration
|
|
46
|
+
- Backwards compatible with v1 .env files
|
|
47
|
+
- New optional settings for performance tuning
|
|
48
|
+
|
|
49
|
+
### 🔄 Migration from v1
|
|
50
|
+
|
|
51
|
+
See [Migration Guide](migration-guide.md) for detailed migration instructions.
|
|
52
|
+
|
|
53
|
+
**Quick Summary**:
|
|
54
|
+
1. Pull latest changes
|
|
55
|
+
2. Run `npm install && npm run build`
|
|
56
|
+
3. Update Claude config path from `src/quickbase/server.js` to `dist/mcp-stdio-server.js`
|
|
57
|
+
4. Restart Claude Desktop
|
|
58
|
+
|
|
59
|
+
### ⚠️ Breaking Changes
|
|
60
|
+
|
|
61
|
+
- Minimum Node.js version is now 18+ (was 14+)
|
|
62
|
+
- Entry point changed from `src/quickbase/server.js` to `dist/mcp-stdio-server.js`
|
|
63
|
+
- Some internal APIs changed (but all MCP tools remain the same)
|
|
64
|
+
|
|
65
|
+
### 🐛 Bug Fixes
|
|
66
|
+
|
|
67
|
+
- Fixed memory leaks in long-running sessions
|
|
68
|
+
- Resolved race conditions in concurrent requests
|
|
69
|
+
- Fixed file upload issues with large files
|
|
70
|
+
- Corrected pagination bugs in query_records
|
|
71
|
+
- Fixed cache invalidation timing issues
|
|
72
|
+
|
|
73
|
+
### 🔮 Future Plans
|
|
74
|
+
|
|
75
|
+
- Increase test coverage to 80%+
|
|
76
|
+
- Add webhook support
|
|
77
|
+
- Implement streaming for large datasets
|
|
78
|
+
- Add more comprehensive logging options
|
|
79
|
+
- Support for Quickbase formulas and relationships
|
|
80
|
+
|
|
81
|
+
### 📝 Notes
|
|
82
|
+
|
|
83
|
+
- v1 code is preserved in `v1-legacy/` for reference only
|
|
84
|
+
- All new development should use v2
|
|
85
|
+
- Please report any issues on GitHub
|
|
86
|
+
|
|
87
|
+
### 🙏 Acknowledgments
|
|
88
|
+
|
|
89
|
+
Thanks to all contributors and testers who helped make v2 a reality!
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-quickbase",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Work with Quickbase via Model Context Protocol",
|
|
5
5
|
"main": "dist/mcp-stdio-server.js",
|
|
6
6
|
"types": "dist/mcp-stdio-server.d.ts",
|
|
7
7
|
"bin": {
|
|
8
|
-
"mcp-quickbase": "
|
|
8
|
+
"mcp-quickbase": "dist/mcp-stdio-server.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "https://github.com/danielbushman/MCP-Quickbase.git"
|
|
25
|
+
"url": "git+https://github.com/danielbushman/MCP-Quickbase.git"
|
|
26
26
|
},
|
|
27
27
|
"homepage": "https://github.com/danielbushman/MCP-Quickbase#readme",
|
|
28
28
|
"bugs": {
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"cors": "^2.8.5",
|
|
50
50
|
"dotenv": "^16.3.1",
|
|
51
51
|
"express": "^4.18.2",
|
|
52
|
+
"mcp-proxy": "^3.2.0",
|
|
52
53
|
"node-cache": "^5.1.2",
|
|
53
54
|
"zod": "^3.24.4"
|
|
54
55
|
},
|
|
@@ -65,4 +66,4 @@
|
|
|
65
66
|
"ts-node": "^10.9.1",
|
|
66
67
|
"typescript": "^5.2.2"
|
|
67
68
|
}
|
|
68
|
-
}
|
|
69
|
+
}
|
|
File without changes
|