import {
STRIPE_MCP_NAME,
STRIPE_MCP_URL,
stripeMcpSetupMessage,
callStripeMcp,
isStripeMcpConnected,
} from './mcp.ts'
/**
* Probe whether the stripe MCP server is connected; return setup guidance when not.
* @returns Structured helper result for agents.
* @example
* import smokeTest from 'kody:@kody/stripe-mcp/smoke-test'
* const result = await smokeTest()
* // => { ... }
*/
export default async function smokeTest() {
if (!isStripeMcpConnected()) {
return {
ok: true,
live: false,
via: null,
setup: {
preferred: 'mcp',
mcp: {
name: STRIPE_MCP_NAME,
url: STRIPE_MCP_URL,
connected: false,
setup: stripeMcpSetupMessage(),
},
oauthApiFallback: 'https://kody.codes/@kody/stripe',
},
}
}
const probe = await callStripeMcp([
"list_customers",
"listCustomers",
"list_products"
])
return {
ok: true,
live: true,
via: 'mcp',
tool: probe?.tool ?? null,
mcp: {
name: STRIPE_MCP_NAME,
url: STRIPE_MCP_URL,
connected: true,
setup: stripeMcpSetupMessage(),
},
}
}