{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_fxbupmarcm2v","handle":"api-stock","url":"https://wellknown.network/agents/api-stock","links":{"self":"https://wellknown.network/agents/api-stock/record.json","html":"https://wellknown.network/agents/api-stock","markdown":"https://wellknown.network/agents/api-stock/record.md","api":"https://wellknown.network/api/v1/agents/api-stock","status":"https://wellknown.network/api/v1/agents/api-stock/status","claim":"https://wellknown.network/agents/api-stock/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/api-stock/claim.json","badge":"https://wellknown.network/agents/api-stock/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/api-stock/history","tools":"https://wellknown.network/api/v1/agents/api-stock/tools"},"ard":{"identifier":"urn:air:api.api-stock.com:server:api-stock","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"API Stock","summary":"Generate AI video, images and music. Browse models and prices; OAuth and one prepaid balance.","description":"Generate AI video, images and music. Browse models and prices; OAuth and one prepaid balance.","publisher":{"name":"SergiyIva","url":null},"homepage":"https://docs.api-stock.com/docs/mcp","repository":"https://github.com/SergiyIva/api-stock-mcp","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.api-stock.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-08T15:15:54.173049Z","publishedAt":"2026-10-08T15:15:54.173049Z","registryName":"io.github.SergiyIva/api-stock"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.music","name":"Music & Audio","confidence":0.859,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"}],"categories":["commerce","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6m ago.","lastOkAt":"2026-11-06T15:25:52.182Z","lastProbedAt":"2026-11-06T15:25:52.182Z","statusComputedAt":"2026-11-06T15:29:40.961Z","reliability30d":{"probes":93,"successRate":0.9892,"p50Ms":274,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":93,"ok":92,"authBoundaryOk":83,"serviceOk":9,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-06T15:25:52.182Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":323,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-06T06:28:52.824Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":350,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-05T21:30:53.914Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":273,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-05T12:22:12.595Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":286,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-05T03:26:30.825Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":277,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-04T19:25:58.149Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":203,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-04T11:24:41.096Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":278,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-04T03:31:36.781Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":243,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T19:33:50.844Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":352,"error":null,"detail":{"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"toolCount":8,"toolsHash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","serverName":"API Stock","capabilities":["tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-03T10:28:51.328Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":293,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.api-stock.com/.well-known/oauth-protected-resource/mcp\", scope=\"mcp:read mcp:generate offline_access\""}}],"tools":[{"name":"list_models","description":"List the video, image and music models available, with the starting price of each. Call this first to pick a model."},{"name":"get_model","description":"The full parameter list, price table and an example request for one model. Call this before create_generation: parameters differ between models."},{"name":"estimate_cost","description":"The exact amount create_generation would charge for this request. Nothing is created or charged."},{"name":"create_generation","description":"Start a generation. Charges the user's balance and returns a taskId at once; the result arrives later — poll get_task. A failed generation is refunded."},{"name":"create_upload_url","description":"Get a signed URL to PUT one local image, video or audio file (up to 25 MiB). Upload is free, but requires a positive balance. After PUT succeeds, use publicUrl "},{"name":"get_task","description":"Status of a generation and, once finished, the URLs of its files. Pass waitSeconds to wait for it to finish instead of polling in a loop."},{"name":"list_generations","description":"The user's generations, newest first."},{"name":"get_account","description":"The prepaid balance generations are charged from, and where to top it up."}],"package":null,"toolSurface":{"id":"ts_2m2h6sr44ynz","endpointId":"ep_cvru73pc98rg","hash":"eeec5a62fc15543627bc52d108ae58de363437972fd82d41ff2fb0419eab8e33","toolCount":8,"serverName":"API Stock","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-11-03T19:33:50.855Z","lastSeenAt":"2026-11-06T15:25:52.189Z","observations":9,"hiddenText":{"level":"none","total":0,"tools":0,"kinds":[],"findings":[]},"toolNames":["list_models","get_model","estimate_cost","create_generation","create_upload_url","get_task","list_generations","get_account"],"distinctSurfaces":1,"surfacesWithHiddenText":0},"endpointFacts":[{"id":"ep_cvru73pc98rg","url":"https://api.api-stock.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-31T12:24:56.140Z","auth":{"observedAt":"2026-10-31T12:24:56.550Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://api.api-stock.com/.well-known/oauth-protected-resource/mcp","resource":"https://api.api-stock.com/mcp","authorizationServers":["https://api-stock.com/api/auth"],"scopesSupported":["mcp:read","mcp:generate","offline_access"]},"authorizationServer":{"url":"https://api-stock.com/.well-known/oauth-authorization-server/api/auth","issuer":"https://api-stock.com/api/auth","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_basic","client_secret_post","private_key_jwt"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":["EdDSA","ES256","ES512","PS256","RS256"],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":true,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-31T12:24:56.568Z","protocol":"TLSv1.2","chainValid":true,"chainError":null,"hostMatches":true,"subject":"api-stock.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-06T11:14:52.000Z","validTo":"2026-12-05T12:12:34.000Z","daysToExpiry":28,"sanCount":2,"fingerprint256":"2E:02:49:9E:EF:BF:50:1E:CA:A6:6B:77:EE:7E:D5:14:4B:58:44:4C:E3:C9:EA:5D:04:C3:4E:CD:CE:82:07:1C"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.SergiyIva/api-stock","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.SergiyIva%2Fapi-stock","firstSeenAt":"2026-10-10T02:21:36.553Z","fetchedAt":"2026-11-02T04:18:23.829Z","normalizedAt":"2026-11-02T04:18:23.829Z"},{"source":"mcp_registry","key":"io.github.APIStock/api-stock","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.APIStock%2Fapi-stock","firstSeenAt":"2026-11-05T14:19:58.827Z","fetchedAt":"2026-11-05T14:19:58.827Z","normalizedAt":"2026-11-05T14:19:58.827Z"}]},"firstSeenAt":"2026-10-10T02:21:36.553Z","updatedAt":"2026-11-06T15:32:00.737Z"}