Koskamo

eoidata SkillSelect Data MCP

An MCP server providing Australian SkillSelect EOI, invitation, nomination, and processing-time data for AI agents. It allows users to query occupation comparisons, score positions, and invitation cutoffs without accessing raw data, ensuring bounded and read-only answers with scope and freshness metadata.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

eoidata SkillSelect Data MCP logo, by eoidataVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by eoidata
You need:Pro access can be limited to read and fetch capabilitiesOrganization owners may control availability in Team and Enterprise workspacesCustom MCP apps currently require eligible Gemini Spark access, a personal US account, age 18+, English and Keep Activity enabled
MCP endpoint (Streamable HTTP)
https://eoidata.com/mcp
Vendor documentation

What you can do with it

  • Check EOI pool score positions and history
  • Compare 189, 190, and 491 visa pathways
  • Identify occupations with recent invitation activity
  • Review processing-time ranges and grant profiles

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
eoidata 1.0.0
MCP protocol
2025-06-18
Tools
21 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use eoidata tools for bounded aggregated Australian SkillSelect data. Never represent historical observations as invitation predictions. Individual EOI records and bulk exports are unavailable. Use public sources for policy or eligibility information not held by eoidata.com.

Tools

21 advertised

get_account_profile — Get MCP account and membership status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check which eoidata account is connected and whether it currently has an active VIP reading membership. Login is required; this does not expose personal profile fields.

get_account_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_account_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_data_catalog — Get eoidata data catalog
Advertised by the server during the last successful anonymous check.
Advertised read-only

Describe the datasets and boundaries available from eoidata.com without returning detailed data.

get_data_catalog input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_data_catalog annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
request_new_data — Request new data from eoidata
Advertised by the server during the last successful anonymous check.

Submit any unmet data need directly to the eoidata product team. No login, VIP membership or product submission quota is required. Include what data is needed and how the Agent would use it.

request_new_data input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "request"
  ],
  "properties": {
    "contact": {
      "type": "string",
      "maxLength": 320
    },
    "request": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 5
    },
    "useCase": {
      "type": "string",
      "maxLength": 1000
    },
    "agentName": {
      "type": "string",
      "maxLength": 120
    }
  }
}
request_new_data annotations
{
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
get_eoi_snapshot — Get an EOI snapshot
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return bounded aggregate submitted, invited and lodged counts plus score ranges. Free accounts can query any single occupation for the latest exact pathway; VIP unlocks historical and broader scope.

get_eoi_snapshot input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_eoi_snapshot annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_eoi_history — Get EOI history
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return up to 24 months of aggregate submitted, invited and lodged history for optional visa, state or occupation filters. VIP required.

get_eoi_history input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "months": {
      "type": "integer",
      "maximum": 24,
      "minimum": 1
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_eoi_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_score_distribution — Get an EOI score distribution
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return aggregate counts by SkillSelect score for one status and a bounded published scope. VIP required.

get_score_distribution input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "status"
  ],
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "status": {
      "enum": [
        "SUBMITTED",
        "INVITED",
        "LODGED"
      ],
      "type": "string"
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_score_distribution annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
rank_occupations — Rank occupations in an EOI snapshot
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return only the top 20 occupations by submitted EOI count for a published month and optional visa/state filters. No pagination or bulk export. VIP required.

rank_occupations input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    }
  }
}
rank_occupations annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_related_occupations — Get related occupations
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return at most six occupations related by ANZSCO unit or minor group, with aggregate submitted counts. VIP required.

get_related_occupations input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "occupation"
  ],
  "properties": {
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_related_occupations annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_pathway_overview — Get occupation pathway overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare the published visa and state pathways for one occupation in one month using aggregate counts and score summaries. VIP required.

get_pathway_overview input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "occupation"
  ],
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_pathway_overview annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
compare_occupations — Compare occupations
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare aggregate EOI snapshot counts for two to five occupations in the same scope. VIP required.

compare_occupations input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "occupations"
  ],
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "occupations": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d{6}$"
      },
      "maxItems": 5,
      "minItems": 2
    }
  }
}
compare_occupations annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
compare_pathways — Compare visa and state pathways
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare two to five visa/state pathways for one occupation using aggregate snapshot counts. VIP required.

compare_pathways input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "occupation",
    "pathways"
  ],
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "pathways": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "visa"
        ],
        "properties": {
          "visa": {
            "type": "string",
            "maxLength": 12,
            "minLength": 3
          },
          "state": {
            "type": "string",
            "maxLength": 5,
            "minLength": 2
          }
        }
      },
      "maxItems": 5,
      "minItems": 2
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
compare_pathways annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_score_position — Get score position in the EOI pool
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the aggregate number of submitted EOIs at or above a score in one pathway. Free accounts can query any single occupation in the latest exact pathway.

get_score_position input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "score",
    "visa"
  ],
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "score": {
      "type": "integer",
      "maximum": 150,
      "minimum": 0
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_score_position annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_candidate_profile — Get an aggregate EOI candidate profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return one aggregate profile dimension for submitted or invited EOIs in one occupation pathway. VIP required.

get_candidate_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "population",
    "dimension",
    "occupation",
    "visa",
    "state"
  ],
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "dimension": {
      "enum": [
        "english",
        "partner",
        "prof_year",
        "naati",
        "aus_study",
        "regional_study",
        "specialist_edu",
        "pool_age"
      ],
      "type": "string"
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    },
    "population": {
      "enum": [
        "submitted",
        "invited"
      ],
      "type": "string"
    }
  }
}
get_candidate_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_invitation_rounds — Get invitation rounds
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return up to 12 published invitation rounds and aggregate visa outcomes. VIP required.

get_invitation_rounds input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 12,
      "minimum": 1
    }
  }
}
get_invitation_rounds annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_occupation_invitation_cutoffs — Get occupation invitation cutoffs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search published occupation invitation cutoff observations. Free accounts get the latest matching observation for any one occupation; VIP gets up to 50 results.

get_occupation_invitation_cutoffs input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    }
  }
}
get_occupation_invitation_cutoffs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_state_nomination_progress — Get state nomination progress
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the latest published aggregate state nomination progress, optionally filtered by state or visa subclass. VIP required.

get_state_nomination_progress input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "visaSubclass": {
      "type": "string",
      "maxLength": 3,
      "minLength": 3
    }
  }
}
get_state_nomination_progress annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_processing_times — Get observed EOI processing times
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return existing eoidata aggregate invite-to-lodge and lodge-to-close duration statistics. Free accounts get the latest summary for any one occupation and exact pathway; VIP unlocks the full breakdown.

get_processing_times input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_processing_times annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_grant_profile — Get an aggregate grant profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the existing aggregate closed-EOI lodged-month and score profile for one exact pathway. VIP required.

get_grant_profile input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "month",
    "visa",
    "state",
    "occupation"
  ],
  "properties": {
    "visa": {
      "type": "string",
      "maxLength": 12,
      "minLength": 3
    },
    "month": {
      "type": "string",
      "pattern": "^(0[1-9]|1[0-2])\\/\\d{4}$"
    },
    "state": {
      "type": "string",
      "maxLength": 5,
      "minLength": 2
    },
    "occupation": {
      "type": "string",
      "pattern": "^\\d{6}$"
    }
  }
}
get_grant_profile annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
search_occupations — Search ANZSCO occupations
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find up to 10 occupations by ANZSCO code or occupation name. A non-empty query is required; this tool cannot enumerate the full catalog.

search_occupations input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120,
      "minLength": 2
    }
  }
}
search_occupations annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_available_scope — Get available eoidata scope
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the currently available EOI months, visas, states and statuses so another query can stay within published scope.

get_available_scope input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_available_scope annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
get_latest_overview — Get latest eoidata overview
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the latest EOI snapshot month, official invitation round date, processing data publication and coverage counts.

get_latest_overview input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_latest_overview annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1715 ms
95th percentile latency
1715 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1715 ms · metadata changed · 21 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http eoidata-skillselect-data-mcp https://eoidata.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add eoidata-skillselect-data-mcp --url https://eoidata.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable eoidata-skillselect-data-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "eoidata-skillselect-data-mcp": {
      "url": "https://eoidata.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "eoidata-skillselect-data-mcp": {
      "type": "streamableHttp",
      "url": "https://eoidata.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start eoidata-skillselect-data-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "eoidata-skillselect-data-mcp": {
      "type": "http",
      "url": "https://eoidata.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http eoidata-skillselect-data-mcp https://eoidata.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "eoidata-skillselect-data-mcp": {
      "url": "https://eoidata.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "eoidata-skillselect-data-mcp": {
      "serverUrl": "https://eoidata.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like eoidata SkillSelect Data MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run eoidata SkillSelect Data MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing