{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_gf9kkyd5dnpr","handle":"harsh-singh-mcp-sentinel","url":"https://wellknown.network/agents/harsh-singh-mcp-sentinel","links":{"self":"https://wellknown.network/agents/harsh-singh-mcp-sentinel/record.json","html":"https://wellknown.network/agents/harsh-singh-mcp-sentinel","markdown":"https://wellknown.network/agents/harsh-singh-mcp-sentinel/record.md","api":"https://wellknown.network/api/v1/agents/harsh-singh-mcp-sentinel","status":"https://wellknown.network/api/v1/agents/harsh-singh-mcp-sentinel/status","claim":"https://wellknown.network/agents/harsh-singh-mcp-sentinel/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/harsh-singh-mcp-sentinel/claim.json","badge":"https://wellknown.network/agents/harsh-singh-mcp-sentinel/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/harsh-singh-mcp-sentinel/history","tools":"https://wellknown.network/api/v1/agents/harsh-singh-mcp-sentinel/tools"},"ard":{"identifier":"urn:air::server:harsh-singh-mcp-sentinel","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"mcp-sentinel","summary":"Automated testing framework for MCP (Model Context Protocol) servers","description":"<p align=\"center\">\n  <img src=\"assets/logo.svg\" alt=\"MCPSentinel\" width=\"120\" height=\"120\" />\n</p>\n\n<h1 align=\"center\">MCPSentinel</h1>\n\n<p align=\"center\">\n  Zero-config testing for MCP servers.<br/>\n  Install. Point at your server. Get a full test report.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://pypi.org/project/mcp-sentinel\"><img src=\"https://img.shields.io/pypi/v/mcp-sentinel.svg\" alt=\"PyPI\" /></a>\n  <img src=\"https://img.shields.io/badge/python-3.10%2B-green.svg\" alt=\"Python\" />\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-orange.svg\" alt=\"License\" /></a>\n</p>\n\n---\n\n## Get Started\n\n```bash\npip install mcp-sentinel\nmcpsentinel \"python my_server.py\"\n```\n\nThat's it. No config file. No test code to write. MCPSentinel connects to your server, discovers every tool, generates hundreds of test cases, and prints the results:\n\n```\nMCPSentinel v0.1.0\n\n  Server:     python my_server.py\n  Transport:  stdio (auto-detected)\n  Modes:      schema, fuzz\n  Output:     terminal\n\nDiscovering tools...  3 tools found\n\nRunning 47 tests ━━━━━━━━━━━━━━━━━━━━━━ 100%\n\nResults: 44 passed, 3 failed, 0 errors\n```\n\n---\n\n## What It Tests\n\nMCPSentinel runs two test modes by default:\n\n**Schema validation** — sends valid inputs, omits required fields one at a time, tests enum boundaries, type mismatches.\n\n**Adversarial fuzzing** — SQL injection, XSS, path traversal, command injection, null bytes, format strings, oversized payloads, unicode stress tests. Every fuzz test expects the server to not crash — returning an error is fine.\n\n---\n\n## Common Usage\n\n```bash\n# Test your server (zero config)\nmcpsentinel \"python my_server.py\"\n\n# Schema tests only\nmcpsentinel \"python server.py\" -m schema\n\n# HTML report\nmcpsentinel \"python server.py\" -f html\n\n# SSE server (transport auto-detected from URL)\nmcpsentinel \"http://localhost:8001/sse\"\n\n# Streamable HTTP\nmcpsentinel \"http://localhost:8001/mcp\"\n\n# Test specific tools\nmcpsentinel \"python server.py\" --tools \"search_*\"\n\n# Exclude …","publisher":{"name":"Harsh Singh","url":null},"homepage":"https://github.com/Dev07-Harsh/mcp-sentinel","repository":"https://github.com/Dev07-Harsh/mcp-sentinel","version":"0.1.0","license":null,"protocols":["mcp"],"tags":["fuzz-testing","mcp","model-context-protocol","testing"],"pricing":null,"endpoints":[{"url":"pypi:mcp-sentinel","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"code.testing","name":"Testing","confidence":1,"provenance":"declared"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.779,"provenance":"derived"}],"categories":["code","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"mcp-sentinel","registry":"pypi","observedAt":"2026-10-28T13:24:41.649Z","publishedAt":"2026-02-12T20:42:31.872115Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"mcp-sentinel","url":"https://pypi.org/project/mcp-sentinel/","firstSeenAt":"2026-09-10T03:19:46.421Z","fetchedAt":"2026-10-28T13:22:50.863Z","normalizedAt":"2026-10-28T13:22:50.863Z"}]},"firstSeenAt":"2026-09-10T03:19:46.421Z","updatedAt":"2026-10-28T13:24:41.649Z"}