@toolsdk.ai/registry 1.0.104 → 1.0.106

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/README.dev.md ADDED
@@ -0,0 +1,195 @@
1
+ # Awesome MCP Registry Developer Guide
2
+
3
+ This document provides developers with detailed information on how to set up, run, and develop the Awesome MCP Registry project.
4
+
5
+ - [Awesome MCP Registry Developer Guide](#awesome-mcp-registry-developer-guide)
6
+ - [1. 🧰 Prerequisites](#1--prerequisites)
7
+ - [2. 🧰 Tech Stack](#2--tech-stack)
8
+ - [3. 🎯 Project Purpose](#3--project-purpose)
9
+ - [4. 🚀 Quick Start](#4--quick-start)
10
+ - [4.1 Install Dependencies](#41-install-dependencies)
11
+ - [4.2 Build Project](#42-build-project)
12
+ - [4.3 Start Development Server (Without Search Function)](#43-start-development-server-without-search-function)
13
+ - [4.4 Start Development Server (With Search Function)](#44-start-development-server-with-search-function)
14
+ - [5. 🐳 Docker Usage](#5--docker-usage)
15
+ - [5.1 Running with Docker (Without Search Function)](#51-running-with-docker-without-search-function)
16
+ - [5.2 Running with Docker (With Search Function)](#52-running-with-docker-with-search-function)
17
+ - [6. 🛠 Common Issues and Troubleshooting](#6--common-issues-and-troubleshooting)
18
+ - [6.1 MCP Client Test Errors During Build Process](#61-mcp-client-test-errors-during-build-process)
19
+ - [7. 🗃️ Project Structure](#7-️-project-structure)
20
+ - [8. ⚙️ Environment Variables](#8-️-environment-variables)
21
+ - [9. 📝 Contribution Guide](#9--contribution-guide)
22
+
23
+ ## 1. 🧰 Prerequisites
24
+
25
+ Before you begin, ensure your development environment meets the following requirements:
26
+
27
+ - **Node.js** >= 18.x (latest LTS version recommended)
28
+ - **pnpm** >= 8.x (package manager)
29
+ - **Docker** (optional, required only if search functionality is needed)
30
+
31
+ ## 2. 🧰 Tech Stack
32
+
33
+ - **Runtime Environment**: Node.js (ESM modules)
34
+ - **Package Manager**: pnpm
35
+ - **Language**: TypeScript
36
+ - **Web Framework**: Hono.js
37
+ - **Search Service**: MeiliSearch (optional)
38
+ - **Build Tool**: TypeScript Compiler (tsc)
39
+ - **Code Formatting**: Biome
40
+ - **Testing**: Vitest
41
+
42
+ ## 3. 🎯 Project Purpose
43
+
44
+ This project has two main purposes:
45
+
46
+ 1. **MCP Registry** - Collects and indexes various MCP servers, providing search functionality
47
+ 2. **MCP Server** - Deployed as a server to remotely call various MCP servers
48
+
49
+ Additionally, we have deployed a website [ToolSDK.ai](https://toolsdk.ai) that can search for and run MCP Servers. We also provide a tool called `toolsdk` to help integrate these MCP Servers.
50
+
51
+ ## 4. 🚀 Quick Start
52
+
53
+ ### 4.1 Install Dependencies
54
+
55
+ ```bash
56
+ pnpm install
57
+ ```
58
+
59
+ ### 4.2 Build Project
60
+
61
+ ```bash
62
+ make build
63
+ ```
64
+
65
+ This will perform the following operations:
66
+ - Validate all MCP server configurations
67
+ - Install all necessary dependencies
68
+ - Build TypeScript code
69
+
70
+ ### 4.3 Start Development Server (Without Search Function)
71
+
72
+ This is the simplest way to start, suitable for scenarios where only API functionality is needed:
73
+
74
+ 1. Ensure `ENABLE_SEARCH=false` is set in the `.env` file:
75
+
76
+ ```env
77
+ ENABLE_SEARCH=false
78
+ MCP_SERVER_PORT=3003
79
+ ```
80
+
81
+ 2. Start the development server:
82
+
83
+ ```bash
84
+ make dev
85
+ ```
86
+
87
+ 3. Access the following endpoints:
88
+ - API Documentation: http://localhost:3003/swagger
89
+
90
+ ### 4.4 Start Development Server (With Search Function)
91
+
92
+ If you need full search functionality:
93
+
94
+ 1. Set up the `.env` file:
95
+
96
+ ```env
97
+ ENABLE_SEARCH=true
98
+ MCP_SERVER_PORT=3003
99
+ MEILI_HTTP_ADDR=http://localhost:7700
100
+ ```
101
+
102
+ 2. Start the MeiliSearch service:
103
+
104
+ ```bash
105
+ make db
106
+ ```
107
+
108
+ 3. Build the project and start the development server:
109
+
110
+ ```bash
111
+ make build
112
+ make dev
113
+ ```
114
+
115
+ 4. Initialize search indexes:
116
+
117
+ Call the following endpoints via API:
118
+ - `POST /api/v1/search/manage/init` - Initialize search service
119
+ - `POST /api/v1/search/manage/index` - Index data
120
+
121
+ 5. Access:
122
+ - Search Page: http://localhost:3003
123
+ - API Documentation: http://localhost:3003/swagger
124
+
125
+ ## 5. 🐳 Docker Usage
126
+
127
+ ### 5.1 Running with Docker (Without Search Function)
128
+
129
+ ```bash
130
+ # Build image
131
+ make docker-build
132
+
133
+ # Run container (ensure ENABLE_SEARCH=false)
134
+ make docker-run
135
+
136
+ # Visit http://localhost:3003
137
+ ```
138
+
139
+ ### 5.2 Running with Docker (With Search Function)
140
+
141
+ ```bash
142
+ # Set ENABLE_SEARCH=true in .env
143
+ # Start MeiliSearch
144
+ make db
145
+
146
+ # Build and run the main application
147
+ make docker-build
148
+ make docker-run
149
+
150
+ # Visit http://localhost:3003 to use search functionality and API interfaces
151
+ ```
152
+
153
+ ## 6. 🛠 Common Issues and Troubleshooting
154
+
155
+ ### 6.1 MCP Client Test Errors During Build Process
156
+
157
+ When executing the `make build` command, you may see error messages similar to the following:
158
+
159
+ ```
160
+ Error reading MCP Client for package: claude-prompts... ENOENT: no such file or directory
161
+ ```
162
+
163
+ **This is normal!** The reason for these errors is:
164
+
165
+ - This project includes thousands of MCP packages
166
+ - The build process attempts to test all packages through the [test-mcp-clients.ts](file:///root/vika/awesome-mcp-registry/scripts/test-mcp-clients.ts) script
167
+ - Due to the large number, the testing process may take several hours
168
+ - Not all packages need to be installed and tested, as most packages are not essential for running the registry
169
+
170
+ **These errors can be ignored as long as the build process continues to execute.** After the build is complete, you can still use the API and search functionality (if search is enabled) normally.
171
+
172
+ ## 7. 🗃️ Project Structure
173
+
174
+ ```
175
+ .
176
+ ├── config/ # Configuration files
177
+ ├── indexes/ # Generated index files
178
+ ├── packages/ # MCP server configuration files (categorized)
179
+ ├── scripts/ # Build and maintenance scripts
180
+ └── src/ # Source code
181
+ ├── api/ # API routes and server entry points
182
+ └── search/ # Search service
183
+ ```
184
+
185
+ ## 8. ⚙️ Environment Variables
186
+
187
+ The project uses the following environment variables, which can be configured in `.env` or `.env.local`:
188
+
189
+ - `MCP_SERVER_PORT`: Server port (default: 3003)
190
+ - `ENABLE_SEARCH`: Whether to enable search service (default: false)
191
+ - `MEILI_HTTP_ADDR`: MeiliSearch service address (default: http://localhost:7700)
192
+
193
+ ## 9. 📝 Contribution Guide
194
+
195
+ For detailed information on how to contribute code to the project, add new MCP servers, etc., please refer to the [CONTRIBUTING.md](./CONTRIBUTING.md) file.
package/README.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  [![Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=997428&theme=light&period=daily)](https://www.producthunt.com/products/toolsdk-ai)
4
4
 
5
- ![How many MCP Servers in Awesome MCP Registry](https://img.shields.io/badge/MCP_Servers-4104-blue)
5
+ ![How many MCP Servers in Awesome MCP Registry](https://img.shields.io/badge/MCP_Servers-4105-blue)
6
6
  ![awesome-mcp-registry License](https://img.shields.io/badge/LICENSE-MIT-ff69b4)
7
7
 
8
8
 
9
9
  Welcome to the Awesome MCP Registry.
10
10
 
11
- An open, high-quality, well-structured and developer-friendly list of 4104+ MCP servers.
11
+ An open, high-quality, well-structured and developer-friendly list of 4105+ MCP servers.
12
12
 
13
13
 
14
14
 
@@ -106,9 +106,9 @@ For more detail please see [the guide](./docs/guide.md).
106
106
 
107
107
  # MCP Servers
108
108
 
109
- ✅: Validated and runnable tools (721)
109
+ ✅: Validated and runnable tools (723)
110
110
 
111
- ❌: Cannot be run by the MCP client (with mock environments variables (3383))
111
+ ❌: Cannot be run by the MCP client (with mock environments variables (3382))
112
112
 
113
113
 
114
114
 
@@ -1593,7 +1593,7 @@ Tools for integrating, transforming, and managing data pipelines.
1593
1593
  - [✅ mcp-google-analytics](https://github.com/surendranb/google-analytics-mcp): A Model Context Protocol (MCP) server for Google Analytics integration. This server provides tools for interacting with Google Analytics, including running reports, querying accounts and properties, and accessing metadata. (4 tools) (python)
1594
1594
  - [❌ odmcp](https://github.com/opendatamcp/opendatamcp): Connect to open data from millions of open government, NGO, and company datasets. (python)
1595
1595
  - [❌ pride-archive-search](https://github.com/pride-archive/mcp_pride_archive_search): Enables searching and retrieving proteomics datasets from the PRIDE Archive database with support for keyword filtering, pagination, and custom sorting options (python)
1596
- - [ aitable-mcp-server](https://github.com/apitable/aitable-mcp-server): AITable.ai Model Context Protocol Server enables AI agents to connect and work with AITable datasheets. (node)
1596
+ - [ @apitable/aitable-mcp-server](https://github.com/apitable/aitable-mcp-server): AITable.ai Model Context Protocol Server enables AI agents to connect and work with AITable datasheets. (6 tools) (node)
1597
1597
  - [❌ graphql-explorer](https://github.com/larshvidsten/mcp_af_graph): Integrates with GraphQL APIs to enable secure data retrieval, query execution, and schema exploration for AI applications (python)
1598
1598
  - [❌ dataverse-(microsoft-powerplatform)](https://github.com/bonanip512/dataversemcpserver): Integrates with Microsoft's PowerPlatform API to enable querying and interaction with Dataverse entities, providing access to metadata, attributes, relationships, and records through authenticated requests without navigating complex API structures. (node)
1599
1599
  - [❌ mcp-google-sheets](https://github.com/xing5/mcp-google-sheets): Integrates with Google Drive and Google Sheets to create, read, update, and manage spreadsheets with support for both OAuth and service account authentication methods. (python)
@@ -1653,6 +1653,7 @@ Enhance your development workflow with tools for coding and environment manageme
1653
1653
  - [✅ @container-inc/mcp](https://github.com/f-inc/containerinc-mcp): Enables seamless deployment of containerized applications directly from code editors through a three-step workflow of GitHub authentication, repository setup, and automated Docker image publishing. (3 tools) (node)
1654
1654
  - [❌ project-orchestrator](https://github.com/sparesparrow/mcp-project-orchestrator): Streamlines software project creation by analyzing user input to select appropriate structures, generate documentation with Mermaid diagrams, and provide tools for setup and management. (python)
1655
1655
  - [❌ devhub-cms-mcp](https://github.com/devhub/devhub-cms-mcp): Manage and utilize content within DevHub CMS (blog posts, hours of operation and other content). (python)
1656
+ - [✅ bika-mcp-server](https://github.com/bika-ai/bika-mcp-server): A Model Context Protocol server that provides read and write access to Bika.ai. This server enables LLMs to list spaces, list nodes, list records, create records and upload attachments in Bika.ai. (6 tools) (node)
1656
1657
  - [❌ heimdall](https://github.com/shinzo-labs/heimdall): Manage your agent tools and MCP server configs with ease. (node)
1657
1658
  - [❌ tasks-organizer](https://github.com/huntsyea/mcp-tasks-organizer): Converts Cursor agent plans into markdown task lists for organizing and structuring project plans into readable, actionable formats. (python)
1658
1659
  - [❌ documentation-markdown-converter](https://github.com/teddylee777/mcpdoc): Provides AI assistants with access to documentation through a configurable server that converts HTML to Markdown and enables auditing of tool calls and returned context. (python)
package/dist/api/index.js CHANGED
@@ -59,11 +59,15 @@ app.doc("/api/v1/doc", {
59
59
  });
60
60
  app.get("/swagger", swaggerUI({ url: "/api/v1/doc" }));
61
61
  app.notFound((c) => {
62
- return c.json({ success: false, code: 404, message: "Route not found" }, 404);
62
+ return c.json({ success: false, code: 404, message: "[Registry API] Route not found" }, 404);
63
63
  });
64
64
  app.onError((err, c) => {
65
65
  console.error("Server Error:", err);
66
- return c.json({ success: false, code: 500, message: "Internal server error" }, 500);
66
+ return c.json({
67
+ success: false,
68
+ code: 500,
69
+ message: `[Registry API] Internal server error, errMsg: ${err.message}`,
70
+ }, 500);
67
71
  });
68
72
  const port = process.env.MCP_SERVER_PORT ? parseInt(process.env.MCP_SERVER_PORT, 10) : 3003;
69
73
  console.log(`Server is running on: http://localhost:${port}`);
@@ -1,122 +1,18 @@
1
1
  import type { Context } from "hono";
2
2
  export declare const packageHandler: {
3
- executeTool: (c: Context) => Promise<(globalThis.Response & import("hono").TypedResponse<never, 200, "json">) | (globalThis.Response & import("hono").TypedResponse<{
3
+ executeTool: (c: Context) => Promise<globalThis.Response & import("hono").TypedResponse<{
4
4
  success: boolean;
5
5
  code: number;
6
6
  message: string;
7
- }, 404, "json">)>;
8
- getPackageDetail: (c: Context) => Promise<(globalThis.Response & import("hono").TypedResponse<{
7
+ }, 200, "json">>;
8
+ getPackageDetail: (c: Context) => Promise<globalThis.Response & import("hono").TypedResponse<{
9
9
  success: boolean;
10
10
  code: number;
11
11
  message: string;
12
- }, 400, "json">) | (globalThis.Response & import("hono").TypedResponse<{
12
+ }, 200, "json">>;
13
+ listTools: (c: Context) => Promise<globalThis.Response & import("hono").TypedResponse<{
13
14
  success: boolean;
14
15
  code: number;
15
16
  message: string;
16
- }, 404, "json">) | (globalThis.Response & import("hono").TypedResponse<{
17
- success: boolean;
18
- code: number;
19
- message: string;
20
- data?: {
21
- type: "mcp-server";
22
- packageName: string;
23
- runtime: "node" | "python" | "java" | "go";
24
- description?: string | undefined;
25
- name?: string | undefined;
26
- key?: string | undefined;
27
- packageVersion?: string | undefined;
28
- bin?: string | undefined;
29
- binArgs?: string[] | undefined;
30
- readme?: string | undefined;
31
- url?: string | undefined;
32
- license?: string | undefined;
33
- logo?: string | undefined;
34
- author?: string | undefined;
35
- env?: {
36
- [x: string]: {
37
- description: string;
38
- required: boolean;
39
- };
40
- } | undefined;
41
- tools?: {
42
- [x: string]: never;
43
- name: string;
44
- inputSchema: {
45
- [x: string]: never;
46
- type: "object";
47
- properties?: {
48
- [x: string]: never;
49
- } | undefined;
50
- required?: string[] | undefined;
51
- };
52
- description?: string | undefined;
53
- title?: string | undefined;
54
- outputSchema?: {
55
- [x: string]: never;
56
- type: "object";
57
- properties?: {
58
- [x: string]: never;
59
- } | undefined;
60
- required?: string[] | undefined;
61
- } | undefined;
62
- annotations?: {
63
- [x: string]: never;
64
- title?: string | undefined;
65
- readOnlyHint?: boolean | undefined;
66
- destructiveHint?: boolean | undefined;
67
- idempotentHint?: boolean | undefined;
68
- openWorldHint?: boolean | undefined;
69
- } | undefined;
70
- _meta?: {
71
- [x: string]: never;
72
- } | undefined;
73
- }[] | undefined;
74
- } | undefined;
75
- }, 200, "json">)>;
76
- listTools: (c: Context) => Promise<(globalThis.Response & import("hono").TypedResponse<{
77
- success: boolean;
78
- code: number;
79
- message: string;
80
- }, 400, "json">) | (globalThis.Response & import("hono").TypedResponse<{
81
- success: boolean;
82
- code: number;
83
- message: string;
84
- }, 404, "json">) | (globalThis.Response & import("hono").TypedResponse<{
85
- success: boolean;
86
- code: number;
87
- message: string;
88
- data?: {
89
- [x: string]: never;
90
- name: string;
91
- inputSchema: {
92
- [x: string]: never;
93
- type: "object";
94
- properties?: {
95
- [x: string]: never;
96
- } | undefined;
97
- required?: string[] | undefined;
98
- };
99
- description?: string | undefined;
100
- title?: string | undefined;
101
- outputSchema?: {
102
- [x: string]: never;
103
- type: "object";
104
- properties?: {
105
- [x: string]: never;
106
- } | undefined;
107
- required?: string[] | undefined;
108
- } | undefined;
109
- annotations?: {
110
- [x: string]: never;
111
- title?: string | undefined;
112
- readOnlyHint?: boolean | undefined;
113
- destructiveHint?: boolean | undefined;
114
- idempotentHint?: boolean | undefined;
115
- openWorldHint?: boolean | undefined;
116
- } | undefined;
117
- _meta?: {
118
- [x: string]: never;
119
- } | undefined;
120
- }[] | undefined;
121
- }, 200, "json">)>;
17
+ }, 200, "json">>;
122
18
  };
@@ -13,12 +13,14 @@ export const packageHandler = {
13
13
  if (error instanceof Error) {
14
14
  if (error.message.includes("not found")) {
15
15
  const errorResponse = createErrorResponse(`Package '${requestBody.packageName}' not found`, 404);
16
- return c.json(errorResponse, 404);
16
+ return c.json(errorResponse, 200);
17
17
  }
18
18
  if (error.message.includes("Unknown tool")) {
19
19
  const errorResponse = createErrorResponse(`Tool '${requestBody.toolKey}' not found in package '${requestBody.packageName}`, 404);
20
- return c.json(errorResponse, 404);
20
+ return c.json(errorResponse, 200);
21
21
  }
22
+ const errorResponse = createErrorResponse(`[executeTool] Error executing tool: ${error.message}`, 500);
23
+ return c.json(errorResponse, 200);
22
24
  }
23
25
  // Other errors are still thrown
24
26
  throw error;
@@ -28,7 +30,7 @@ export const packageHandler = {
28
30
  const packageName = c.req.query("packageName");
29
31
  if (!packageName) {
30
32
  const errorResponse = createErrorResponse("Missing packageName query parameter", 400);
31
- return c.json(errorResponse, 400);
33
+ return c.json(errorResponse, 200);
32
34
  }
33
35
  try {
34
36
  const toolSO = new PackageSO();
@@ -39,7 +41,7 @@ export const packageHandler = {
39
41
  catch (error) {
40
42
  if (error instanceof Error && error.message.includes("not found")) {
41
43
  const errorResponse = createErrorResponse(`Package '${packageName}' not found`, 404);
42
- return c.json(errorResponse, 404);
44
+ return c.json(errorResponse, 200);
43
45
  }
44
46
  throw error;
45
47
  }
@@ -48,7 +50,7 @@ export const packageHandler = {
48
50
  const packageName = c.req.query("packageName");
49
51
  if (!packageName) {
50
52
  const errorResponse = createErrorResponse("Missing packageName query parameter", 400);
51
- return c.json(errorResponse, 400);
53
+ return c.json(errorResponse, 200);
52
54
  }
53
55
  try {
54
56
  const toolSO = new PackageSO();
@@ -59,7 +61,7 @@ export const packageHandler = {
59
61
  catch (error) {
60
62
  if (error instanceof Error && error.message.includes("not found")) {
61
63
  const errorResponse = createErrorResponse(`Package '${packageName}' not found`, 404);
62
- return c.json(errorResponse, 404);
64
+ return c.json(errorResponse, 200);
63
65
  }
64
66
  throw error;
65
67
  }
@@ -1504,7 +1504,7 @@
1504
1504
  "mcp-google-analytics",
1505
1505
  "odmcp",
1506
1506
  "pride-archive-search",
1507
- "aitable-mcp-server",
1507
+ "@apitable/aitable-mcp-server",
1508
1508
  "graphql-explorer",
1509
1509
  "dataverse-(microsoft-powerplatform)",
1510
1510
  "mcp-google-sheets",
@@ -1566,6 +1566,7 @@
1566
1566
  "@container-inc/mcp",
1567
1567
  "project-orchestrator",
1568
1568
  "devhub-cms-mcp",
1569
+ "bika-mcp-server",
1569
1570
  "heimdall",
1570
1571
  "tasks-organizer",
1571
1572
  "documentation-markdown-converter",
@@ -33043,12 +33043,6 @@
33043
33043
  "validated": false,
33044
33044
  "tools": {}
33045
33045
  },
33046
- "aitable-mcp-server": {
33047
- "category": "data-platforms",
33048
- "path": "data-platforms/aitable-mcp-server.json",
33049
- "validated": false,
33050
- "tools": {}
33051
- },
33052
33046
  "@lark-base-open/mcp-node-server": {
33053
33047
  "category": "data-platforms",
33054
33048
  "path": "data-platforms/lark-base-open-mcp-node-server.json",
@@ -47896,5 +47890,67 @@
47896
47890
  "path": "other-tools-and-integrations/mcp-remote.json",
47897
47891
  "validated": false,
47898
47892
  "tools": {}
47893
+ },
47894
+ "bika-mcp-server": {
47895
+ "category": "developer-tools",
47896
+ "path": "developer-tools/bika-mcp-server.json",
47897
+ "validated": true,
47898
+ "tools": {
47899
+ "list_spaces": {
47900
+ "name": "list_spaces",
47901
+ "description": "Fetches all workspaces that the currently authenticated user has permission to access."
47902
+ },
47903
+ "list_nodes": {
47904
+ "name": "list_nodes",
47905
+ "description": "Retrieves all nodes contained within the specified workspace. Nodes in Bika can be of several types: databases (also known as sheets, datasheets, or spreadsheets), automations, documents, and folders."
47906
+ },
47907
+ "get_records": {
47908
+ "name": "get_records",
47909
+ "description": "Read the records from a specified database with support for pagination, field filtering, and sorting options."
47910
+ },
47911
+ "get_fields_schema": {
47912
+ "name": "get_fields_schema",
47913
+ "description": "Returns the JSON schema of all fields within the specified database, This schema will be sent to LLM to help the AI understand the expected structure of the data."
47914
+ },
47915
+ "create_record": {
47916
+ "name": "create_record",
47917
+ "description": "Create a new record in the database. Extract key information from user-provided text based on a predefined Fields JSON Schema and create a new record in the database as a JSON object."
47918
+ },
47919
+ "upload_attachment_via_url": {
47920
+ "name": "upload_attachment_via_url",
47921
+ "description": "Upload an attachment to the Bika server using its web URL. Returns storage information that can be passed to create_record or update_record tools to associate with a specific records."
47922
+ }
47923
+ }
47924
+ },
47925
+ "@apitable/aitable-mcp-server": {
47926
+ "category": "data-platforms",
47927
+ "path": "data-platforms/aitable-mcp-server.json",
47928
+ "validated": true,
47929
+ "tools": {
47930
+ "list_spaces": {
47931
+ "name": "list_spaces",
47932
+ "description": "Fetches all workspaces that the currently authenticated user has permission to access."
47933
+ },
47934
+ "search_nodes": {
47935
+ "name": "search_nodes",
47936
+ "description": "Retrieve nodes based on specific types, permissions, and queries. Nodes in AITable can be of several types: datasheets (also known as sheets, or spreadsheets), form, dashboard, and folders."
47937
+ },
47938
+ "list_records": {
47939
+ "name": "list_records",
47940
+ "description": "Read the records from a specified datasheet with support for pagination, field filtering, and sorting options."
47941
+ },
47942
+ "get_fields_schema": {
47943
+ "name": "get_fields_schema",
47944
+ "description": "Returns the JSON schema of all fields within the specified database, This schema will be sent to LLM to help the AI understand the expected structure of the data."
47945
+ },
47946
+ "create_record": {
47947
+ "name": "create_record",
47948
+ "description": "Create a new record in the datasheet. Extract key information from user-provided text based on a predefined Fields JSON Schema and create a new record in the datasheet as a JSON object."
47949
+ },
47950
+ "upload_attachment_via_url": {
47951
+ "name": "upload_attachment_via_url",
47952
+ "description": "Upload an attachment to the AITable server using its web URL. Returns storage information that can be passed to create_record or update_record tools to associate with a specific records."
47953
+ }
47954
+ }
47899
47955
  }
47900
47956
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolsdk.ai/registry",
3
- "version": "1.0.104",
3
+ "version": "1.0.106",
4
4
  "description": "An Open, Structured, and Standard Registry for MCP Servers and Packages.",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -47,6 +47,7 @@
47
47
  "@anaisbetts/mcp-youtube": "0.6.0",
48
48
  "@angiejones/mcp-selenium": "0.1.21",
49
49
  "@antv/mcp-server-chart": "0.8.2",
50
+ "@apitable/aitable-mcp-server": "1.0.3",
50
51
  "@arizeai/phoenix-mcp": "2.2.9",
51
52
  "@ashdev/discourse-mcp-server": "1.0.2",
52
53
  "@auto-browse/unbundle-openapi-mcp": "1.0.1",
@@ -347,6 +348,7 @@
347
348
  "axios": "^1.9.0",
348
349
  "base-network-mcp-server": "0.1.0",
349
350
  "better-fetch-mcp": "1.0.0",
351
+ "bika-mcp-server": "1.0.7-alpha.62",
350
352
  "binance-mcp-server": "1.0.3",
351
353
  "bitcoin-mcp": "0.0.6",
352
354
  "bitrefill-mcp-server": "0.3.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "mcp-server",
3
- "logo": "https://pbs.twimg.com/profile_images/1365504724724633601/0jzIjXtR_400x400.jpg",
3
+ "logo": "https://clickup.com/assets/brand/logo-v3-clickup-symbol-only.svg",
4
4
  "packageName": "@taazkareem/clickup-mcp-server",
5
5
  "description": "Integrates ClickUp task management with AI systems to enable automated task creation, updates, and retrieval for enhanced project workflow efficiency.",
6
6
  "url": "https://github.com/taazkareem/clickup-mcp-server",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "mcp-server",
3
- "packageName": "aitable-mcp-server",
3
+ "packageName": "@apitable/aitable-mcp-server",
4
4
  "description": "AITable.ai Model Context Protocol Server enables AI agents to connect and work with AITable datasheets.",
5
5
  "url": "https://github.com/apitable/aitable-mcp-server",
6
6
  "runtime": "node",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "AITABLE_BASE_URL": {
14
14
  "description": "The base URL of the AITable API. You can set it to your custom base URL if using APITable (the open-source version of AITable)",
15
- "required": true
15
+ "required": false
16
16
  }
17
17
  },
18
18
  "name": "AITable MCP Server"
@@ -0,0 +1,15 @@
1
+ {
2
+ "type": "mcp-server",
3
+ "packageName": "bika-mcp-server",
4
+ "description": "A Model Context Protocol server that provides read and write access to Bika.ai. This server enables LLMs to list spaces, list nodes, list records, create records and upload attachments in Bika.ai.",
5
+ "url": "https://github.com/bika-ai/bika-mcp-server",
6
+ "runtime": "node",
7
+ "license": "unknown",
8
+ "env": {
9
+ "BIKA_API_KEY": {
10
+ "description": "The API key for the Bika.ai API.",
11
+ "required": true
12
+ }
13
+ },
14
+ "name": "Bika.ai MCP Server"
15
+ }