import {
SENTRY_MCP_NAME,
SENTRY_MCP_URL,
sentryMcpSetupMessage,
callSentryMcp,
isSentryMcpConnected,
} from './mcp.ts'
/**
* Probe whether the sentry MCP server is connected; return setup guidance when not.
* @returns Structured helper result for agents.
* @example
* import smokeTest from 'kody:@kody/sentry-mcp/smoke-test'
* const result = await smokeTest()
* // => { ... }
*/
export default async function smokeTest() {
if (!isSentryMcpConnected()) {
return {
ok: true,
live: false,
via: null,
setup: {
preferred: 'mcp',
mcp: {
name: SENTRY_MCP_NAME,
url: SENTRY_MCP_URL,
connected: false,
setup: sentryMcpSetupMessage(),
},
oauthApiFallback: 'https://kody.codes/@kody/sentry',
},
}
}
const probe = await callSentryMcp([
"list_organizations",
"listOrganizations",
"whoami"
])
return {
ok: true,
live: true,
via: 'mcp',
tool: probe?.tool ?? null,
mcp: {
name: SENTRY_MCP_NAME,
url: SENTRY_MCP_URL,
connected: true,
setup: sentryMcpSetupMessage(),
},
}
}