{"apiVersion":"v1","directorySlug":"aitext-mcp-a1fe567a2e","title":"aitext","description":null,"pageUrl":"https://www.mcpbundles.com/skills/aitext-mcp-a1fe567a2e","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.aitext.cloud/mcp","hostedMcpUrl":null,"toolCount":26,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"cloud.aitext/aitext-mcp-a1fe567a2e","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_current_time","description":"[General] Get the current time in UTC or with timezone offset. Useful for timestamps and time-based features.","inputSchema":{"type":"object","properties":{"timezone_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":0}}},"logicalName":"get_current_time","displayName":"get_current_time","title":"get_current_time","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_current_weather","description":"[General] Get current weather conditions for a location. Returns temperature, conditions, humidity, and wind speed. Uses OpenWeatherMap API.","inputSchema":{"type":"object","required":["location"],"properties":{"units":{"type":"string","default":"metric"},"location":{"type":"string"}}},"logicalName":"get_current_weather","displayName":"get_current_weather","title":"get_current_weather","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_list_sheets","description":"[Spreadsheet] List all sheets in an Excel file or Google Sheets. Shows sheet names, indices, and dimensions.","inputSchema":{"type":"object","required":["file_url"],"properties":{"file_url":{"type":"string"}}},"logicalName":"spreadsheet_list_sheets","displayName":"spreadsheet_list_sheets","title":"spreadsheet_list_sheets","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_get_sheet_metadata","description":"[Spreadsheet] Get structural metadata about a sheet including size, headers, and frozen rows.","inputSchema":{"type":"object","required":["file_url"],"properties":{"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_get_sheet_metadata","displayName":"spreadsheet_get_sheet_metadata","title":"spreadsheet_get_sheet_metadata","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_read_range","description":"[Spreadsheet] Read a specific range from a sheet using A1 notation (e.g., 'A1:F10'). Returns raw cell values.","inputSchema":{"type":"object","required":["file_url","range_a1"],"properties":{"file_url":{"type":"string"},"range_a1":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_read_range","displayName":"spreadsheet_read_range","title":"spreadsheet_read_range","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_read_rows","description":"[Spreadsheet] Read specific rows from a sheet. More ergonomic than read_range for row-oriented operations.","inputSchema":{"type":"object","required":["file_url","start_row","end_row"],"properties":{"end_row":{"type":"integer"},"file_url":{"type":"string"},"start_row":{"type":"integer"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"include_headers":{"type":"boolean","default":true}}},"logicalName":"spreadsheet_read_rows","displayName":"spreadsheet_read_rows","title":"spreadsheet_read_rows","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_get_headers","description":"[Spreadsheet] Get column headers from the first row of a sheet. Returns header names and their column letter mappings.","inputSchema":{"type":"object","required":["file_url"],"properties":{"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_get_headers","displayName":"spreadsheet_get_headers","title":"spreadsheet_get_headers","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_find_rows","description":"[Spreadsheet] Search for rows containing specific values. Can search all columns or a specific column with exact or fuzzy matching.","inputSchema":{"type":"object","required":["file_url","query"],"properties":{"query":{"type":"string"},"column":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"exact_match":{"type":"boolean","default":false}}},"logicalName":"spreadsheet_find_rows","displayName":"spreadsheet_find_rows","title":"spreadsheet_find_rows","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_read_table","description":"[Spreadsheet] Read sheet data as structured objects (list of dictionaries). Perfect for LLM analysis and reasoning.","inputSchema":{"type":"object","required":["file_url"],"properties":{"file_url":{"type":"string"},"max_rows":{"type":"integer","default":1000},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_read_table","displayName":"spreadsheet_read_table","title":"spreadsheet_read_table","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_get_cell","description":"[Spreadsheet] Get the value of a single cell (e.g., 'A1', 'B5').","inputSchema":{"type":"object","required":["file_url","cell_ref"],"properties":{"cell_ref":{"type":"string"},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_get_cell","displayName":"spreadsheet_get_cell","title":"spreadsheet_get_cell","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_preview_sheet","description":"[Spreadsheet] Preview the first N rows of a sheet. Quick way to see what data looks like.","inputSchema":{"type":"object","required":["file_url"],"properties":{"rows":{"type":"integer","default":5},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_preview_sheet","displayName":"spreadsheet_preview_sheet","title":"spreadsheet_preview_sheet","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_get_column_values","description":"[Spreadsheet] Get all values from a specific column with statistics. Useful for analysis and summaries.","inputSchema":{"type":"object","required":["file_url","column"],"properties":{"column":{"type":"string"},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"skip_empty":{"type":"boolean","default":true}}},"logicalName":"spreadsheet_get_column_values","displayName":"spreadsheet_get_column_values","title":"spreadsheet_get_column_values","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_count_rows_matching","description":"[Spreadsheet] Count how many rows match a specific value in a column. Returns the count and sample matches. Perfect for 'how many X are there?' questions.","inputSchema":{"type":"object","required":["file_url","column","value"],"properties":{"value":{"type":"string"},"column":{"type":"string"},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"exact_match":{"type":"boolean","default":false}}},"logicalName":"spreadsheet_count_rows_matching","displayName":"spreadsheet_count_rows_matching","title":"spreadsheet_count_rows_matching","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"spreadsheet_group_by_count","description":"[Spreadsheet] Group by a column and count occurrences (like SQL GROUP BY). Perfect for 'which X has the most Y?' questions. Returns sorted groups with counts.","inputSchema":{"type":"object","required":["file_url","column"],"properties":{"top_n":{"type":"integer","default":50},"column":{"type":"string"},"file_url":{"type":"string"},"sheet_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"logicalName":"spreadsheet_group_by_count","displayName":"spreadsheet_group_by_count","title":"spreadsheet_group_by_count","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mysql_query","description":"[Database] Execute a read-only query on MySQL database. Returns results as list of dictionaries.","inputSchema":{"type":"object","required":["connection_string","query"],"properties":{"limit":{"type":"integer","default":1000},"query":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_mysql_query","displayName":"database_mysql_query","title":"database_mysql_query","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mysql_list_tables","description":"[Database] List all tables in a MySQL database.","inputSchema":{"type":"object","required":["connection_string"],"properties":{"database":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"connection_string":{"type":"string"}}},"logicalName":"database_mysql_list_tables","displayName":"database_mysql_list_tables","title":"database_mysql_list_tables","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mysql_describe_table","description":"[Database] Get structure/schema of a MySQL table including column names and types.","inputSchema":{"type":"object","required":["connection_string","table_name"],"properties":{"table_name":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_mysql_describe_table","displayName":"database_mysql_describe_table","title":"database_mysql_describe_table","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_postgresql_query","description":"[Database] Execute a read-only query on PostgreSQL database. Returns results as list of dictionaries.","inputSchema":{"type":"object","required":["connection_string","query"],"properties":{"limit":{"type":"integer","default":1000},"query":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_postgresql_query","displayName":"database_postgresql_query","title":"database_postgresql_query","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_postgresql_list_tables","description":"[Database] List all tables in a PostgreSQL database schema.","inputSchema":{"type":"object","required":["connection_string"],"properties":{"schema":{"type":"string","default":"public"},"connection_string":{"type":"string"}}},"logicalName":"database_postgresql_list_tables","displayName":"database_postgresql_list_tables","title":"database_postgresql_list_tables","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_postgresql_describe_table","description":"[Database] Get structure/schema of a PostgreSQL table including column names, types, and constraints.","inputSchema":{"type":"object","required":["connection_string","table_name"],"properties":{"schema":{"type":"string","default":"public"},"table_name":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_postgresql_describe_table","displayName":"database_postgresql_describe_table","title":"database_postgresql_describe_table","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mongodb_query","description":"[Database] Query MongoDB collection with optional filter. Returns documents as list of dictionaries.","inputSchema":{"type":"object","required":["connection_string","database","collection"],"properties":{"limit":{"type":"integer","default":1000},"database":{"type":"string"},"collection":{"type":"string"},"filter_query":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"connection_string":{"type":"string"}}},"logicalName":"database_mongodb_query","displayName":"database_mongodb_query","title":"database_mongodb_query","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mongodb_list_collections","description":"[Database] List all collections in a MongoDB database.","inputSchema":{"type":"object","required":["connection_string","database"],"properties":{"database":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_mongodb_list_collections","displayName":"database_mongodb_list_collections","title":"database_mongodb_list_collections","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mongodb_count_documents","description":"[Database] Count documents in MongoDB collection matching optional filter criteria.","inputSchema":{"type":"object","required":["connection_string","database","collection"],"properties":{"database":{"type":"string"},"collection":{"type":"string"},"filter_query":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"default":null},"connection_string":{"type":"string"}}},"logicalName":"database_mongodb_count_documents","displayName":"database_mongodb_count_documents","title":"database_mongodb_count_documents","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"database_mongodb_aggregate","description":"[Database] Execute MongoDB aggregation pipeline for complex queries and data transformations.","inputSchema":{"type":"object","required":["connection_string","database","collection","pipeline"],"properties":{"limit":{"type":"integer","default":1000},"database":{"type":"string"},"pipeline":{"type":"array","items":{"type":"object","additionalProperties":true}},"collection":{"type":"string"},"connection_string":{"type":"string"}}},"logicalName":"database_mongodb_aggregate","displayName":"database_mongodb_aggregate","title":"database_mongodb_aggregate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"zakat_calculate_kwsp","description":"[Zakat] Calculate the amount of zakat due on an EPF/KWSP (Employees Provident Fund) withdrawal, following Malaysian Islamic law (fiqh) guidelines. Zakat rate is 2.5% of the eligible zakatable amount. Not all withdrawal types are subject to zakat — for example, withdrawals for education, healthcare, disability, or hajj are exempt. Housing withdrawals are only zakatable when made for investment purposes. The nisab (minimum threshold) determines whether zakat is obligatory: if the withdrawal amount","inputSchema":{"type":"object","required":["jumlah_keluaran","jenis_pengeluaran"],"properties":{"nisab":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"tahun_haul":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"jumlah_keluaran":{"type":"number"},"jenis_pengeluaran":{"type":"string"},"sebab_pengeluaran":{"type":"string","default":"pelaburan"}}},"logicalName":"zakat_calculate_kwsp","displayName":"zakat_calculate_kwsp","title":"zakat_calculate_kwsp","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"zakat_calculate_pendapatan","description":"[Zakat] Calculate the amount of zakat due on employment and professional income (Zakat Pendapatan), following Malaysian Islamic law guidelines. Zakat rate is 2.5% per year on the eligible zakatable income. Supports two calculation modes: (1) simple gross-income method (no deductions), or (2) deduction method where allowable personal expenses are subtracted before calculating zakat. Deductible expenses include: personal living allowance, spouse allowance (per wife), child allowances (under 18 and","inputSchema":{"type":"object","properties":{"nisab":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"kwsp_jenis":{"type":"string","default":"peratus"},"kwsp_nilai":{"type":"number","default":11.0},"tahun_haul":{"type":"integer","default":2026},"jumlah_anak":{"type":"integer","default":0},"jumlah_anak2":{"type":"integer","default":0},"caruman_zakat":{"type":"number","default":0.0},"jumlah_isteri":{"type":"integer","default":0},"dengan_tolakan":{"type":"boolean","default":true},"belanja_ibubapa":{"type":"number","default":0.0},"pendapatan_lain":{"type":"number","default":0.0},"pendapatan_bulanan":{"type":"number","default":0.0},"pendapatan_tahunan":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null},"pendidikan_sendiri":{"type":"number","default":0.0}}},"logicalName":"zakat_calculate_pendapatan","displayName":"zakat_calculate_pendapatan","title":"zakat_calculate_pendapatan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=aitext&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYWl0ZXh0LmNsb3VkL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22aitext%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.aitext.cloud%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22aitext%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.aitext.cloud%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=aitext&connectorUrl=https%3A%2F%2Fmcp.aitext.cloud%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"aitext\" --url \"https://mcp.aitext.cloud/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/aitext-mcp-a1fe567a2e","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/aitext-mcp-a1fe567a2e/tools/{tool}","mcpServerUrl":"https://mcp.aitext.cloud/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/aitext-mcp-a1fe567a2e?live=1"}