KATA Research Automation

Deterministic research automation with live OpenAlex search and reusable workflow programs.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
79%
Naming quality
80%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'kata_diagnose_web_interop' suggests web access but openWorldHint=falsein kata_diagnose_web_interop

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,328Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (1.04% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "kata": {
      "url": "https://kata-webmcp.vercel.app/api/mcp"
    }
  }
}

Remote endpoints

https://kata-webmcp.vercel.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢kata_search_research(query, limit)

Search live scholarly works through OpenAlex. Returns normalized real research records; never mock data.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 240
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢kata_plan_triage(query, limit, works, criteria, actions, ...)

Create a deterministic triage plan from live OpenAlex results or supplied works without mutating a workspace.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 240
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    },
    "works": {
      "type": "array",
      "maxItems": 25,
      "items": {
        "type": "object"
      }
    },
    "criteria": {
      "type": "object"
    },
    "actions": {
      "type": "object"
    },
    "maxItems": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "additionalProperties": false
}
🟢kata_diagnose_web_interop(intent, environment)

Classify observed WebMCP, MCP, browser and API constraints and return a conservative compliant integration path without weakening security controls.

Input Schema

{
  "type": "object",
  "properties": {
    "intent": {
      "type": "string",
      "enum": [
        "read",
        "act",
        "automate",
        "expose_webmcp",
        "call_api",
        "connect_mcp"
      ]
    },
    "environment": {
      "type": "object",
      "properties": {
        "webMcpApi": {
          "type": "string",
          "enum": [
            "available",
            "unavailable",
            "unknown"
          ]
        },
        "frame": {
          "type": "string",
          "enum": [
            "top",
            "same-origin",
            "cross-origin",
            "unknown"
          ]
        },
        "toolsPermission": {
          "type": "string",
          "enum": [
            "allowed",
            "blocked",
            "unknown"
          ]
        },
        "originExposure": {
          "type": "string",
          "enum": [
            "allowed",
            "blocked",
            "not-required",
            "unknown"
          ]
        },
        "crossOriginRequest": {
          "type": "string",
          "enum": [
            "requested",
            "not-requested",
            "not-required",
            "unknown"
          ]
        },
        "api": {
          "type": "string",
          "enum": [
            "documented",
            "undocumented",
            "none",
            "unknown"
          ]
        },
        "auth": {
          "type": "string",
          "enum": [
            "authenticated",
            "required",
            "none",
            "unknown"
          ]
        },
        "authScope": {
          "type": "string",
          "enum": [
            "browser",
            "all-paths",
            "unknown"
          ]
        },
        "cors": {
          "type": "string",
          "enum": [
            "allowed",
            "blocked",
            "not-applicable",
            "unknown"
          ]
        },
        "cspConnect": {
          "type": "string",
          "enum": [
            "allowed",
            "blocked",
            "not-applicable",
            "unknown"
          ]
        },
        "rateLimit": {
          "type": "string",
          "enum": [
            "ok",
            "limited",
            "unknown"
          ]
        },
        "rateLimitScope": {
          "type": "string",
          "enum": [
            "browser",
            "all-paths",
            "unknown"
          ]
        },
        "botProtection": {
          "type": "string",
          "enum": [
            "clear",
            "challenge",
            "blocked",
            "unknown"
          ]
        },
        "botProtectionScope": {
          "type": "string",
          "enum": [
            "browser",
            "all-paths",
            "unknown"
          ]
        },
        "terms": {
          "type": "string",
          "enum": [
            "allowed",
            "restricted",
            "unknown"
          ]
        },
        "termsScope": {
          "type": "string",
          "enum": [
            "browser",
            "all-paths",
            "unknown"
          ]
        },
        "userAuthorizedBrowserFlow": {
          "type": "boolean"
        },
        "serverSideApiAvailable": {
          "enum": [
            true,
            false,
            "unknown"
          ]
        },
        "mcpEndpoint": {
          "type": "string",
          "enum": [
            "available",
            "protected",
            "legacy-candidate",
            "unavailable",
            "unknown"
          ]
        },
        "mcpModernProtocol": {
          "type": "string",
          "enum": [
            "supported",
            "unsupported",
            "unknown"
          ]
        },
        "mcpAuth": {
          "type": "string",
          "enum": [
            "none",
            "required",
            "unknown"
          ]
        },
        "mcpAuthMetadata": {
          "type": "string",
          "enum": [
            "available",
            "not-required",
            "unverified",
            "unknown"
          ]
        }
      },
      "required": [
        "webMcpApi",
        "frame",
        "toolsPermission",
        "originExposure",
        "api",
        "auth",
        "cors",
        "cspConnect",
        "rateLimit",
        "botProtection",
        "terms",
        "userAuthorizedBrowserFlow"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "intent",
    "environment"
  ],
  "additionalProperties": false
}
⚪kata_apply_command(workspace, command)

Apply one allowlisted semantic workspace command and return the next workspace snapshot.

Input Schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    },
    "command": {
      "type": "object"
    }
  },
  "required": [
    "workspace",
    "command"
  ],
  "additionalProperties": false
}
🟢kata_compile_workflow(name, demos)

Compile two compatible semantic demonstrations into a deterministic JSON-Schema-constrained program.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "demos": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "items": {
        "type": "array",
        "minItems": 1,
        "maxItems": 32,
        "items": {
          "type": "object"
        }
      }
    }
  },
  "required": [
    "name",
    "demos"
  ],
  "additionalProperties": false
}
⚪kata_execute_program(workspace, program, input)

Execute a compiled deterministic program transactionally against a supplied workspace snapshot.

Input Schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    },
    "program": {
      "type": "object"
    },
    "input": {
      "type": "object"
    }
  },
  "required": [
    "workspace",
    "program",
    "input"
  ],
  "additionalProperties": false
}
🟢kata_preview_automation(workspace, works, automation)

Preview an automation and return matching works plus an integrity fingerprint. Makes no changes.

Input Schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    },
    "works": {
      "type": "array",
      "maxItems": 25,
      "items": {
        "type": "object"
      }
    },
    "automation": {
      "type": "object"
    }
  },
  "required": [
    "workspace",
    "works",
    "automation"
  ],
  "additionalProperties": false
}
⚪kata_run_automation(workspace, works, automation, previewFingerprint)

Run a deterministic automation only when its preview fingerprint still matches current inputs. Nested tools are depth-bounded.

Input Schema

{
  "type": "object",
  "properties": {
    "workspace": {
      "type": "object"
    },
    "works": {
      "type": "array",
      "maxItems": 25,
      "items": {
        "type": "object"
      }
    },
    "automation": {
      "type": "object"
    },
    "previewFingerprint": {
      "type": "string",
      "minLength": 64,
      "maxLength": 64
    }
  },
  "required": [
    "workspace",
    "works",
    "automation",
    "previewFingerprint"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools