{"audit":{"version":"1.3","generated_at":"2026-05-22T23:50:32.875015+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/paichart.app","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"paichart.app","name":"pAIchart MCP Hub","url":"https://paichart.app/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"pAIchart","url":"https://paichart.app"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":null,"supports_streaming":true,"supports_push_notifications":false},"operational":{"live_state":"auth_required","live_responds":false,"last_status_code":200,"last_elapsed_ms":496,"last_error":null},"track_record":{"first_seen":"2026-05-14T00:38:01.009140+00:00","last_checked":"2026-05-22T22:10:32.985987+00:00","last_seen_ok":"2026-05-22T22:10:32.985987+00:00","checks_total":35,"checks_ok":35,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":59,"grade":"D","summary":"D-grade: significant issues — auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Schema-validated A2A AgentCard returned by the well-known endpoint."},{"key":"live_responds","label":"Live JSON-RPC","points":15,"max_points":25,"status":"partial","detail":"Endpoint requires auth — real agent but not anonymously callable."},{"key":"protocol_version","label":"Protocol version","points":0,"max_points":10,"status":"fail","detail":"No protocolVersion in card."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":15,"max_points":15,"status":"pass","detail":"35/35 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 8 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: pAIchart (https://paichart.app). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"No securitySchemes declared (common for open agents — not penalised)."}]},"skills":[{"id":"service-discovery","name":"MCP Service Discovery","description":"Find registered MCP services by capability, category, or description. Returns service metadata, tool schemas, and health status. Use: services(action: \"discover\")","tags":["discovery","registry","catalog"],"examples":["What services are available?","Find services with monitoring capabilities","Show me data analytics tools"],"inputModes":[],"outputModes":[]},{"id":"workflow-orchestration","name":"Multi-Service Workflow Execution","description":"Chain multiple MCP services into sequential, parallel, or conditional workflows with variable passing between steps. Use: services(action: \"workflow.execute\")","tags":["workflow","orchestration","chaining","automation"],"examples":["Get electricity prices for Texas and email me a summary","Scrape this page and send the results to Slack","Query Snowflake and create a notification with the results"],"inputModes":[],"outputModes":[]},{"id":"service-registration","name":"MCP Service Registration","description":"Register new MCP services with the Hub via a single command. Automatic capability indexing, trust level assignment, and health monitoring. Use: registry(action: \"register\") or /prompt register_guide","tags":["registration","onboarding","setup"],"examples":["Register my MCP service at https://my-service.com/mcp","How do I add my service to the Hub?"],"inputModes":[],"outputModes":[]},{"id":"snowflake-query","name":"Per-User Snowflake Query","description":"Execute read-only SQL queries on Snowflake data warehouse, authenticated as the requesting user via External OAuth. Every query is attributed to the real user in Snowflake audit logs.","tags":["snowflake","sql","data-warehouse","external-oauth","per-user-auth"],"examples":["Show me the top tables in my Snowflake warehouse","Run a query on the sales database","Describe the schema of the customers table"],"inputModes":[],"outputModes":[]},{"id":"browser-automation","name":"Browser Automation","description":"Web scraping, screenshots, PDF generation, form filling, and JavaScript execution via Playwright.","tags":["browser","scraping","screenshot","pdf","automation"],"examples":["Take a screenshot of this webpage","Scrape the pricing table from competitor.com","Generate a PDF of this report"],"inputModes":[],"outputModes":[]},{"id":"financial-data","name":"Financial Market Data","description":"Real-time stock quotes, historical OHLCV data, company fundamentals, and ticker search via EODHD and Alpha Vantage (113+ tools).","tags":["finance","stocks","market-data","quotes","fundamentals"],"examples":["Get the current price of AAPL","Show me Tesla's fundamentals","Compare historical prices of MSFT and GOOG"],"inputModes":[],"outputModes":[]},{"id":"energy-data","name":"U.S. Energy Data Analytics","description":"Electricity generation, capacity, pricing, and energy storage opportunity analysis across all U.S. states via EIA data.","tags":["energy","electricity","eia","renewable","storage"],"examples":["Compare electricity prices between Texas and California","Find high-potential energy storage areas","Show the generation mix for New York"],"inputModes":[],"outputModes":[]},{"id":"notifications","name":"Multi-Channel Notifications","description":"Send notifications via email (Brevo), Slack, and webhooks. Supports broadcast (multi-channel), escalation chains, and scheduled delivery.","tags":["email","slack","notifications","messaging"],"examples":["Send an email summary to the team","Broadcast an alert to Slack and email","Schedule a notification for tomorrow"],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"mcp_registry","first_seen":"2026-05-14T00:38:01.009140+00:00"},{"source":"recrawl_hot","first_seen":"2026-05-14T03:34:32.020212+00:00"}],"recent_probes":[{"fetched_at":"2026-05-22T22:10:32.985987+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":496,"live_responds":false},{"fetched_at":"2026-05-22T12:15:22.282940+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":484,"live_responds":false},{"fetched_at":"2026-05-22T06:13:57.926551+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":500,"live_responds":false},{"fetched_at":"2026-05-21T14:53:41.454061+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":461,"live_responds":false},{"fetched_at":"2026-05-20T13:25:18.171575+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":499,"live_responds":false},{"fetched_at":"2026-05-20T03:01:13.118547+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":471,"live_responds":false},{"fetched_at":"2026-05-18T23:36:40.733291+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":504,"live_responds":false},{"fetched_at":"2026-05-18T14:21:36.303275+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":505,"live_responds":false},{"fetched_at":"2026-05-18T12:46:20.296156+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":489,"live_responds":false},{"fetched_at":"2026-05-18T11:40:24.422864+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":470,"live_responds":false}],"catalog_attestation":null,"verification_history":[]}