@@ -3,6 +3,7 @@ import { McpAgent } from 'agents/mcp'
33import { createApiHandler } from '@repo/mcp-common/src/api-handler'
44import { getEnv } from '@repo/mcp-common/src/env'
55import { registerPrompts } from '@repo/mcp-common/src/prompts/docs-vectorize.prompts'
6+ import { initSentry } from '@repo/mcp-common/src/sentry'
67import { CloudflareMCPServer } from '@repo/mcp-common/src/server'
78import { registerDocsTools } from '@repo/mcp-common/src/tools/docs-vectorize.tools'
89
@@ -16,13 +17,17 @@ export type Props = never
1617export type State = never
1718
1819export class CloudflareDocumentationMCP extends McpAgent < Env , State , Props > {
19- server = new CloudflareMCPServer ( {
20- wae : env . MCP_METRICS ,
21- serverInfo : {
22- name : env . MCP_SERVER_NAME ,
23- version : env . MCP_SERVER_VERSION ,
24- } ,
25- } )
20+ _server : CloudflareMCPServer | undefined
21+ set server ( server : CloudflareMCPServer ) {
22+ this . _server = server
23+ }
24+ get server ( ) : CloudflareMCPServer {
25+ if ( ! this . _server ) {
26+ throw new Error ( 'Tried to access server before it was initialized' )
27+ }
28+
29+ return this . _server
30+ }
2631
2732 constructor (
2833 public ctx : DurableObjectState ,
@@ -32,6 +37,17 @@ export class CloudflareDocumentationMCP extends McpAgent<Env, State, Props> {
3237 }
3338
3439 async init ( ) {
40+ const sentry = initSentry ( env , this . ctx )
41+
42+ this . server = new CloudflareMCPServer ( {
43+ wae : env . MCP_METRICS ,
44+ serverInfo : {
45+ name : env . MCP_SERVER_NAME ,
46+ version : env . MCP_SERVER_VERSION ,
47+ } ,
48+ sentry,
49+ } )
50+
3551 registerDocsTools ( this , this . env )
3652 registerPrompts ( this )
3753 }
0 commit comments