npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tulidu-sport-mcp

v0.1.5

Published

MCP server for Tulidu Sport — connect AI tools to your tournaments

Readme

Tulidu Sport MCP: World Cup, Team Stats, and Tournament Predictions for AI

Connect Claude, Codex, and other MCP clients to Tulidu Sport so your AI assistant can explore World Cup games, tournament fixtures, team form, head-to-head records, live match stats, leaderboards, vCoin profile data, and your score predictions.

Use it to ask questions like "what World Cup games are coming up?", "is there a live game right now?", "show the live events and stats for this match", "which predictions am I missing?", "show my tournament leaderboard", or "give me team stats before I predict this match."

Requirements

  • Node.js 18 or newer
  • npx available on your PATH
  • A browser available for Tulidu OAuth login
  • Network access to https://tulidu.com and https://api.tulidu.com

Installation: Claude Desktop

Add this to your Claude Desktop config.

Mac:

~/Library/Application Support/Claude/claude_desktop_config.json

Config:

{
  "mcpServers": {
    "tulidu": {
      "command": "npx",
      "args": ["-y", "tulidu-sport-mcp"]
    }
  }
}

Restart Claude Desktop, then ask Claude to run:

tulidu_login

A browser window opens at https://tulidu.com/mcp-auth. Sign in, allow access, and return to Claude.

Verify the connection:

tulidu_status
list_my_tournaments

Installation: Codex

Add this to your Codex config.

Config path:

~/.codex/config.toml

Config:

[mcp_servers.tulidu]
command = "npx"
args = ["-y", "tulidu-sport-mcp"]

Restart Codex, then ask Codex to run:

tulidu_login

A browser window opens at https://tulidu.com/mcp-auth. Sign in, allow access, and return to Codex.

Verify the connection:

tulidu_status
list_my_tournaments

Local or Staging API

By default, the MCP server uses:

https://api.tulidu.com

To point it at another API, set TULIDU_API_URL in the MCP server environment.

Claude Desktop example:

{
  "mcpServers": {
    "tulidu": {
      "command": "npx",
      "args": ["-y", "tulidu-sport-mcp"],
      "env": {
        "TULIDU_API_URL": "http://127.0.0.1:3001"
      }
    }
  }
}

Codex example:

[mcp_servers.tulidu]
command = "npx"
args = ["-y", "tulidu-sport-mcp"]

[mcp_servers.tulidu.env]
TULIDU_API_URL = "http://127.0.0.1:3001"

Available Tools

| Tool | Description | |---|---| | tulidu_login | Log in via browser OAuth | | tulidu_logout | Remove local Tulidu credentials | | tulidu_status | Check whether you are logged in | | list_tournaments | List all available tournaments | | get_tournament | Get tournament details | | list_my_tournaments | List tournaments the logged-in user joined | | get_tournament_games | List games/fixtures in a tournament | | get_leaderboard | Get tournament rankings | | get_my_predictions | Get your submitted predictions for a tournament | | get_my_profile | Get your profile and vCoin balance | | get_match_events | Game tab: goals, cards, substitutions, penalties, and match timeline events | | get_match_stats | Game tab: live or final match stats such as possession, shots, corners, fouls, saves, and pass accuracy | | get_match_lineup | Game tab: formations, coaches, starting XI, and substitutes | | get_league_standings | Game tab: league standings table for the fixture league | | get_head_to_head | Game tab: historical head-to-head record for the two teams | | get_team_stats | Get season stats and recent form for a team | | make_prediction | Submit or update a score prediction |

Game Detail Tabs

Tulidu game pages have five useful tabs. The MCP exposes each one directly:

  • Events: use get_match_events for live or finished match timelines. Scheduled games may return no events yet.
  • Stats: use get_match_stats for live or final match statistics. Scheduled games may not have stats until kickoff.
  • Lineup: use get_match_lineup for formations, coaches, starting XI, and substitutes. Lineups are usually available close to kickoff, live, or after kickoff.
  • Standings: use get_league_standings with the fixture leagueId from get_tournament_games.
  • History: use get_head_to_head before predictions or whenever the user asks about previous meetings between the teams.

The MCP also includes prompt templates such as inspect_game_tabs and prepare_match_prediction_context for clients that surface MCP prompts.

Write Tool Safety

make_prediction changes real tournament predictions and can affect tournament scoring. Assistants should ask for explicit user confirmation before calling it.

Credentials

After login, credentials are stored locally at:

~/.tulidu/credentials.json

The access token refreshes automatically. To clear credentials, run:

tulidu_logout

Troubleshooting

If the browser does not open, copy the login URL printed by the MCP server and open it manually.

If login times out, run tulidu_login again. The OAuth flow waits up to 5 minutes.

If tools say you are not logged in, run tulidu_status. If needed, run tulidu_logout and then tulidu_login.

If npx cannot find the package, confirm Node.js 18+ is installed and that your MCP client can access the npm registry.

License

MIT