Skip to main content

tcpping MCP Server (stdio)

Minimal TCP latency probe server for MCP clients (e.g. GitHub Copilot Agents) using Playwright + FastMCP.

0.1.4: Added resilient fallback parsing (summary pattern search + heuristic row scan) and debug artifacts when structure changes on pingloc.com.

1. Add to your MCP client config

Example (mcp.json / Copilot Agents user settings):

"tcpping-mcp-server": {
	"type": "stdio",
	"command": "uvx",
	"args": [
		"tcpping-mcp-server"
	]
}

uvx will fetch & run the published script (or local cache) by name. You can also swap for python -m tcpping_mcp_stdio.modern_server if installed in a venv.

2. Available tool

Tool name: tcpping_run

Parameters (all optional unless noted):

  • target (str, required) – domain or URL (scheme optional)
  • port (int, default 443)
  • timeout (float, default 120)
  • retries (int, default 1)
  • headless (bool, default true)
  • browser_channel (str, default "msedge")
  • debug (bool, default false) – dump HTML/screenshot if no rows
  • summary_only (bool, default false) – return compact summary

3. Example call (conceptual JSON-RPC)

{
	"jsonrpc": "2.0",
	"id": "1",
	"method": "tools/call",
	"params": {
		"name": "tcpping_run",
		"arguments": { "target": "example.com", "summary_only": true }
	}
}

4. Local install (optional)

pip install tcpping-mcp-server
tcpping-mcp-server  # or: python -m tcpping_mcp_stdio.modern_server

5. Playwright browser dependency

First run will auto-download browsers when using uvx or after pip install. If needed manually:

playwright install chromium

6. Output

Returns a JSON string (you may need to parse once):

{
	"host": "example.com:443",
	"summary": { ... },
	"probes": [ ... ],
	"probe_count": 25,
	"timeouts": 0,
	"duration_sec": 12.34
}

7. Debugging

Set debug=true to dump HTML + screenshot into tcpping/debug/ when no probe rows captured.


Concise goal: drop the snippet above into your MCP client config and start using tcpping_run.

8. Release / Publish (maintainers)

Workflow using uv:

  1. Bump version in pyproject.toml and src/tcpping_mcp_stdio/modern_server.py (the VERSION constant). Use semver.
  2. Clean previous builds (optional):
    Remove-Item dist -Recurse -Force -ErrorAction SilentlyContinue
    
  3. Build artifacts:
    uv build
    
  4. (Optional) TestPyPI dry run:
    $Env:TEST_PYPI_API_TOKEN = 'pypi-AgENdGVzdC4uLg=='  # your TestPyPI token
    uv publish --repository testpypi --token $Env:TEST_PYPI_API_TOKEN
    
  5. Publish to PyPI:
    $Env:PYPI_API_TOKEN = 'pypi-AgEN...'   # never commit this
    uv publish --token $Env:PYPI_API_TOKEN
    
  6. Verify installation:
    uvx tcpping-mcp-server --help
    
  7. Tag in git (optional but recommended):
    git tag v<version>
    git push origin v<version>
    

If uv publish reports missing token, ensure the environment variable name matches the one you pass after --token.

Metadata

Release files for tcpping-mcp-server 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tcpping-mcp-server 0.1.5
File Size Uploaded Provenance
tcpping_mcp_server-0.1.5.tar.gz 10.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tcpping-mcp-server 0.1.5
File Interpreter ABI Platform
tcpping_mcp_server-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 21.5 kB

Release files / tcpping_mcp_server-0.1.5.tar.gz

Download URL tcpping_mcp_server-0.1.5.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f43c7cc476035b06cc23db4def19bf072a0294460c66f8707df89ee78853ed0e
BLAKE2b-256 checksum
How to use checksums
bc6cd01cf04fdc0c7b279cb7c69f92c48d4973a159d6a329587364d188dfe28d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Release files / tcpping_mcp_server-0.1.5-py3-none-any.whl

Download URL tcpping_mcp_server-0.1.5-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b030aad1c02a04861fa5cd982f62e6534d14f7d388c1f373bfcada566d216f84
BLAKE2b-256 checksum
How to use checksums
b516513e11ffaf6451cb611806a2a4455e626196045d486d3c113bbc00f2b988
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.14

Security for tcpping-mcp-server 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page