{"_id":"@benxn/base-mcp","_rev":"6-7e0107a66833a6a643a2e40b60c58bfc","name":"@benxn/base-mcp","dist-tags":{"alpha":"0.0.1-alpha.6","latest":"0.0.3"},"versions":{"0.0.1-alpha.3":{"name":"@benxn/base-mcp","version":"0.0.1-alpha.3","author":"","_id":"@benxn/base-mcp@0.0.1-alpha.3","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"homepage":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server#readme","bugs":{"url":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server/issues"},"bin":{"base-mcp":"dist/index.js"},"dist":{"shasum":"3e4319b603ee80cb7880d44e9007bab2d9d3ee73","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.1-alpha.3.tgz","fileCount":26,"integrity":"sha512-ysgcqW1ZumW5frmXNnx6Vj3nqrCBuQeqJxyoaCSNXnoVlkoA6rQtuUn+EedHCrHmW1lGyuFzKnXzQXULoAgBDg==","signatures":[{"sig":"MEUCICsmpowmojOyllCEmf85kT5Ri/m2DdHe/OY/QPn92MPGAiEA3Jl4mIxazuHzuqotyVss8YM5+mUKJoiSemI6mL+y6YE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260698},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"219f6a9d1555a02afd85aa68dcb9f90b322d9e0f","scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","lint":"eslint --ext .js,.jsx,.ts,.tsx .","test":"vitest run","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","clean":"rm -rf dist","start":"NODE_ENV=production node ./dist/index.js","test:watch":"vitest --watch","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"repository":{"url":"git+https://github.com/Lark-Base-Team/lark-base-mcp-node-server.git","type":"git"},"_npmVersion":"11.4.1","description":"Base MCP Server","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zod":"^3.24.1","uuid":"^9.0.0","express":"^5.1.0","date-fns":"^4.1.0","commander":"^13.1.0","lodash.get":"^4.4.2","node-fetch":"^3.3.2","lodash.pick":"^4.4.0","@larksuiteoapi/node-sdk":"^1.46.0","@lark-base-open/node-sdk":"^1.0.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","eslint":"^8.57.1","vitest":"^3.0.7","nodemon":"^3.1.7","prettier":"^3.5.3","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@tsconfig/node-lts":"^20.1.3","@types/lodash.pick":"^4.4.9","zod-to-json-schema":"^3.24.5","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@modelcontextprotocol/inspector":"^0.9.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/base-mcp_0.0.1-alpha.3_1748437352812_0.12805143079574788","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-alpha.4":{"name":"@benxn/base-mcp","version":"0.0.1-alpha.4","author":"","_id":"@benxn/base-mcp@0.0.1-alpha.4","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"homepage":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server#readme","bugs":{"url":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server/issues"},"bin":{"base-mcp":"dist/index.js"},"dist":{"shasum":"0825a5f2e2a3a4b111821f71fa25f3a247b3e342","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.1-alpha.4.tgz","fileCount":26,"integrity":"sha512-ShqiKxu7cNBhF8vxuFKBmE7mwlk/OXuWrXLFW6ktwupoBFOM4re/Y6KlXA2tXfQeC69KIOtB/wxggvKiriKV7A==","signatures":[{"sig":"MEQCIARQmPjd7G0btEBgHRCHnn6qCz6qHMXAZZVvhTTxeDd1AiB6by8VlGRu6+ju26XvcNu27iJq+N8cdu18h9JdkoBwrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260688},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"219f6a9d1555a02afd85aa68dcb9f90b322d9e0f","scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","lint":"eslint --ext .js,.jsx,.ts,.tsx .","test":"vitest run","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","clean":"rm -rf dist","start":"NODE_ENV=production node ./dist/index.js","test:watch":"vitest --watch","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"repository":{"url":"git+https://github.com/Lark-Base-Team/lark-base-mcp-node-server.git","type":"git"},"_npmVersion":"11.4.1","description":"Base MCP Server","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zod":"^3.24.1","uuid":"^9.0.0","express":"^5.1.0","date-fns":"^4.1.0","commander":"^13.1.0","lodash.get":"^4.4.2","node-fetch":"^3.3.2","lodash.pick":"^4.4.0","@larksuiteoapi/node-sdk":"^1.46.0","@lark-base-open/node-sdk":"^1.0.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","eslint":"^8.57.1","vitest":"^3.0.7","nodemon":"^3.1.7","prettier":"^3.5.3","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@tsconfig/node-lts":"^20.1.3","@types/lodash.pick":"^4.4.9","zod-to-json-schema":"^3.24.5","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@modelcontextprotocol/inspector":"^0.9.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/base-mcp_0.0.1-alpha.4_1748437482779_0.6407286072989311","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-alpha.5":{"name":"@benxn/base-mcp","version":"0.0.1-alpha.5","author":"","_id":"@benxn/base-mcp@0.0.1-alpha.5","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"homepage":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server#readme","bugs":{"url":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server/issues"},"bin":{"base-mcp":"dist/index.js"},"dist":{"shasum":"c675ab72dfa3e51e23336f779ec7029c4e1b63fe","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.1-alpha.5.tgz","fileCount":26,"integrity":"sha512-dpt5ijHkvnaDCeW+pzip1UKxviYzLkoVrhe6d2aJwbFvbAgBDf7lqtYCXU0e0O+4GFSXIGM4XuOjasaSk7od9A==","signatures":[{"sig":"MEQCIAS1043/zCeguimF+Xjz3DZfj8SeW8wakgxIeFMVylNXAiBCPr6w0o850P4Oz5DnQoyE9JTUA3kRBDbP158adGSmxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260688},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4d1044fcda9eeacd7a2a963a11b5ddeebb88b528","scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","lint":"eslint --ext .js,.jsx,.ts,.tsx .","test":"vitest run","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","clean":"rm -rf dist","start":"NODE_ENV=production node ./dist/index.js","test:watch":"vitest --watch","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"repository":{"url":"git+https://github.com/Lark-Base-Team/lark-base-mcp-node-server.git","type":"git"},"_npmVersion":"11.4.1","description":"Base MCP Server","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zod":"^3.24.1","uuid":"^9.0.0","express":"^5.1.0","date-fns":"^4.1.0","commander":"^13.1.0","lodash.get":"^4.4.2","node-fetch":"^3.3.2","lodash.pick":"^4.4.0","@larksuiteoapi/node-sdk":"^1.46.0","@lark-base-open/node-sdk":"^1.0.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","eslint":"^8.57.1","vitest":"^3.0.7","nodemon":"^3.1.7","prettier":"^3.5.3","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@tsconfig/node-lts":"^20.1.3","@types/lodash.pick":"^4.4.9","zod-to-json-schema":"^3.24.5","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@modelcontextprotocol/inspector":"^0.9.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/base-mcp_0.0.1-alpha.5_1748437601185_0.3792715753715783","host":"s3://npm-registry-packages-npm-production"}},"0.0.1-alpha.6":{"name":"@benxn/base-mcp","version":"0.0.1-alpha.6","author":"","_id":"@benxn/base-mcp@0.0.1-alpha.6","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"homepage":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server#readme","bugs":{"url":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server/issues"},"bin":{"base-mcp":"dist/index.js"},"dist":{"shasum":"0d097ef48fa46cf3505c206a36aaa3df36fcce83","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.1-alpha.6.tgz","fileCount":26,"integrity":"sha512-3AYY/A/sgkNviDAfd7AGR/9I1JtAE+g6p3lx+qCPFlnK9SCUO9X/0W+oEDC7+qpBhQd0iAr498ShiuvRbMJhoQ==","signatures":[{"sig":"MEQCIGwdemscHNj909kaVNO0qibyI4bSOlYepXP/T3+rixTBAiA9H+l5lEVYykLDQfPeqlsU0MwlYojyfsF+TK7q30VS6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260688},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4d1044fcda9eeacd7a2a963a11b5ddeebb88b528","scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","lint":"eslint --ext .js,.jsx,.ts,.tsx .","test":"vitest run","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","clean":"rm -rf dist","start":"NODE_ENV=production node ./dist/index.js","test:watch":"vitest --watch","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"repository":{"url":"git+https://github.com/Lark-Base-Team/lark-base-mcp-node-server.git","type":"git"},"_npmVersion":"11.4.1","description":"Base MCP Server","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zod":"^3.24.1","uuid":"^9.0.0","express":"^5.1.0","date-fns":"^4.1.0","commander":"^13.1.0","lodash.get":"^4.4.2","node-fetch":"^3.3.2","lodash.pick":"^4.4.0","@larksuiteoapi/node-sdk":"^1.46.0","@lark-base-open/node-sdk":"^1.0.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.4","eslint":"^8.57.1","vitest":"^3.0.7","nodemon":"^3.1.7","prettier":"^3.5.3","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@tsconfig/node-lts":"^20.1.3","@types/lodash.pick":"^4.4.9","zod-to-json-schema":"^3.24.5","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@modelcontextprotocol/inspector":"^0.9.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/base-mcp_0.0.1-alpha.6_1748437706980_0.7122357933589492","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@benxn/base-mcp","version":"0.0.2","author":"","_id":"@benxn/base-mcp@0.0.2","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"homepage":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server#readme","bugs":{"url":"https://github.com/Lark-Base-Team/lark-base-mcp-node-server/issues"},"bin":{"base-mcp":"dist/index.js"},"dist":{"shasum":"4b95e0d8fb190a2be8d77e5ec98a0e7e085e8b19","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.2.tgz","fileCount":26,"integrity":"sha512-ui1AojAwaZ8TzTW+F1mjTR89B2d0n3oseRK2dJZQlur/aC4BW2ZEHahGskU/21eIcbkLxlDo+0Rh0d49svU1ww==","signatures":[{"sig":"MEUCIQD04oq8Aco4uUfpKjLt8uB1IYa3Alulf+WJGnuNhC9TpQIgAV8gnPDkbVxPQmnmO3Ing0c8YTZ1ayi9NljrdQGeBaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260680},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"4d1044fcda9eeacd7a2a963a11b5ddeebb88b528","scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","lint":"eslint --ext .js,.jsx,.ts,.tsx .","test":"vitest run","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","clean":"rm -rf dist","start":"NODE_ENV=production node ./dist/index.js","test:watch":"vitest --watch","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"repository":{"url":"git+https://github.com/Lark-Base-Team/lark-base-mcp-node-server.git","type":"git"},"_npmVersion":"11.4.1","description":"Base MCP Server","directories":{},"_nodeVersion":"23.10.0","dependencies":{"zod":"^3.24.1","uuid":"^9.0.0","express":"^5.1.0","date-fns":"^4.1.0","commander":"^13.1.0","lodash.get":"^4.4.2","node-fetch":"^3.3.2","lodash.pick":"^4.4.0","@larksuiteoapi/node-sdk":"^1.46.0","@lark-base-open/node-sdk":"^1.0.1","@modelcontextprotocol/sdk":"^1.10.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.4","eslint":"^8.57.1","vitest":"^3.0.7","nodemon":"^3.1.7","prettier":"^3.5.3","typescript":"^5.7.2","@types/node":"^22.10.2","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@tsconfig/node-lts":"^20.1.3","@types/lodash.pick":"^4.4.9","zod-to-json-schema":"^3.24.5","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","@typescript-eslint/parser":"^8.31.0","@modelcontextprotocol/inspector":"^0.9.0","@typescript-eslint/eslint-plugin":"^8.31.0"},"_npmOperationalInternal":{"tmp":"tmp/base-mcp_0.0.2_1748437825596_0.49889463052384175","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@benxn/base-mcp","version":"0.0.3","description":"Base MCP Server","author":"","repository":{"type":"git","url":"git+https://github.com/littleben/base-mcp.git"},"type":"module","main":"dist/index.js","types":"dist/index.d.ts","bin":{"base-mcp":"dist/index.js"},"scripts":{"dev":"NODE_ENV=development npm run build && node ./dist/index.sse.js","start":"NODE_ENV=production node ./dist/index.js","test":"vitest run","test:watch":"vitest --watch","lint":"eslint --ext .js,.jsx,.ts,.tsx .","clean":"rm -rf dist","build":"tsc --project tsconfig.build.json && shx chmod +x dist/index.js","build:watch":"nodemon --watch src --ext ts --exec \"npm run build\"","prepublishOnly":"npm run clean && npm run build"},"dependencies":{"@lark-base-open/node-sdk":"^1.0.1","@larksuiteoapi/node-sdk":"^1.46.0","@modelcontextprotocol/sdk":"^1.10.2","commander":"^13.1.0","date-fns":"^4.1.0","express":"^5.1.0","lodash.get":"^4.4.2","lodash.pick":"^4.4.0","node-fetch":"^3.3.2","uuid":"^9.0.0","zod":"^3.24.1"},"devDependencies":{"@modelcontextprotocol/inspector":"^0.9.0","@tsconfig/node-lts":"^20.1.3","@types/express":"^5.0.1","@types/lodash.get":"^4.4.9","@types/lodash.pick":"^4.4.9","@types/node":"^22.10.2","@typescript-eslint/eslint-plugin":"^8.31.0","@typescript-eslint/parser":"^8.31.0","eslint":"^8.57.1","eslint-config-prettier":"^10.1.2","eslint-plugin-prettier":"^5.2.6","nodemon":"^3.1.7","prettier":"^3.5.3","shx":"^0.3.4","typescript":"^5.7.2","vitest":"^3.0.7","zod-to-json-schema":"^3.24.5"},"_id":"@benxn/base-mcp@0.0.3","gitHead":"4d1044fcda9eeacd7a2a963a11b5ddeebb88b528","bugs":{"url":"https://github.com/littleben/base-mcp/issues"},"homepage":"https://github.com/littleben/base-mcp#readme","_nodeVersion":"23.10.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-6Pe4yE3Ofi7uxz8oQyHXyfDlRmbPDgmw2FmF5IuzSU2dvK2K6pN+x1WfWznMvMyU7CX1dFgZ4hlcd8Kp39ssTQ==","shasum":"a03414d133d22f0498b17785b15114cf0975da31","tarball":"https://registry.npmjs.org/@benxn/base-mcp/-/base-mcp-0.0.3.tgz","fileCount":26,"unpackedSize":260658,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDvdoQRntb7WY/Se31bbqjLEIZMxwA4bfv6e6z8QFrW5QIgOd6ZtZ34EBx/XR9yVcb54BzRUkZu/xGej4quPsDtMoY="}]},"_npmUser":{"name":"littleben","email":"coolcooa@gmail.com"},"directories":{},"maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/base-mcp_0.0.3_1748440242064_0.30831598246812586"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-28T13:02:32.696Z","modified":"2025-05-28T13:50:42.434Z","0.0.1-alpha.3":"2025-05-28T13:02:32.986Z","0.0.1-alpha.4":"2025-05-28T13:04:42.964Z","0.0.1-alpha.5":"2025-05-28T13:06:41.363Z","0.0.1-alpha.6":"2025-05-28T13:08:27.159Z","0.0.2":"2025-05-28T13:10:25.812Z","0.0.3":"2025-05-28T13:50:42.244Z"},"bugs":{"url":"https://github.com/littleben/base-mcp/issues"},"homepage":"https://github.com/littleben/base-mcp#readme","repository":{"type":"git","url":"git+https://github.com/littleben/base-mcp.git"},"description":"Base MCP Server","maintainers":[{"name":"littleben","email":"coolcooa@gmail.com"}],"readme":"# base-mcp-server\n\nA Model Context Protocol server that provides read and write access to Feishu Base (飞书多维表格) databases. This server enables LLMs to inspect database schemas, then read and write records.\n\n## Usage  \n### 1. Install Node.js\n\nMake sure Node.js is installed on your machine.\n\n### 2. Obtain Base Tokens\n\nGet the `appToken` and `personalBaseToken` for your base account.\n\n### 3. Install MCP Server Package Globally\n\nInstall the MCP server package globally using npm:\n\n```bash\nnpm install -g @benxn/base-mcp\n```\n\n### 4. MCP Server Configuration\n\nIn your MCP server configuration file, add the following:\n\n```json\n{\n  \"mcpServers\": {\n    \"base-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@benxn/base-mcp\",\n        \"-a\",\n        \"appToken of base\",\n        \"-p\",\n        \"personalBaseToken of base\"\n      ]\n    }\n  }\n}\n```\n\n\n**Note**: If you are using **Claude**, you will need to add the MCP configuration through the **Developer** option in the **Claude client settings**. You can access this in the **Settings** menu, and then add the MCP server details under the relevant section.\n\n\n## tokens\nYou need get two tokens before using this mcp server.\n\n- personalBaseToken: find Base extension UI in your base, and access Custom extension->Get Authorization Code\n\n- appToken: You can obtain the `appToken` quickly through a **Developement Tool** extension. Here’s a simplified step-by-step process on how to do it:\n\n\n## Components\n\n### Tools\n\n- **list_tables**\n  - Lists all tables in a base\n  - No input parameters required\n\n- **list_records**\n  - Lists records from a specified table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table to query\n\n- **get_record**\n  - Gets a specific record by ID\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `recordId` (string, required): The ID of the record to retrieve\n\n- **create_record**\n  - Creates a new record in a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `fields` (object, required): The fields and values for the new record\n\n- **update_record**\n  - Updates a record in a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `recordId` (string, required): The ID of the record\n    - `fields` (object, required): The fields to update and their new values\n\n- **delete_record**\n  - Deletes a record from a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `recordId` (string, required): The ID of the record to delete\n\n- **create_table**\n  - Creates a new table in a base\n  - Input parameters:\n    - `name` (string, required): Name of the new table\n    - `fields` (array, required): Array of field definitions (name, type, description, options)\n\n- **update_table**\n  - Updates a table's name\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `name` (string, required): New name for the table\n\n- **delete_table**\n  - Deletes a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table to delete\n\n- **list_fields**\n  - Lists all fields in a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n\n- **create_field**\n  - Creates a new field in a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `nested` (object, required): Field configuration object containing:\n      - `field` (object, required): Field definition with name, type, and other properties\n\n- **update_field**\n  - Updates a field in a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `fieldId` (string, required): The ID of the field\n    - `nested` (object, required): Updated field configuration\n\n- **delete_field**\n  - Deletes a field from a table\n  - Input parameters:\n    - `tableId` (string, required): The ID of the table\n    - `fieldId` (string, required): The ID of the field to delete\n\n## Development\n\nTo get started with development:\n\n1. Install Node.js\n2. Clone the repository\n3. Install dependencies with `npm install`\n4. Run `npm dev` to start the development server\n5. Run `npm test` to run tests\n6. Build with `npm build`\n\nAvailable scripts:\n- `npm dev`: Build and run the server in development mode\n- `npm start`: Run the server\n- `npm test`: Run tests\n- `npm test:watch`: Run tests in watch mode\n- `npm lint`: Run ESLint\n- `npm build`: Build the project\n- `npm build:watch`: Watch for changes and rebuild automatically\n\n## Project Structure\n\n```\n.\n├── src/                # Source code\n│   ├── index.ts       # Main entry point(stdio)\n│   ├── index.sse.ts   # SSE entry point\n│   ├── service/       # Service implementations\n│   ├── types/         # TypeScript type definitions\n│   ├── utils/         # Utility functions\n│   └── test/          # Test files\n├── dist/              # Compiled output\n```\n\n## Dependencies\n\nMain dependencies:\n- `@lark-base-open/node-sdk`: Feishu Base Node.js SDK\n- `@modelcontextprotocol/sdk`: Model Context Protocol SDK\n- `express`: Web framework\n- `zod`: Schema validation\n\n## License\n\nMIT\n","readmeFilename":"README.md"}