index.ts•975 B
#!/usr/bin/env node
import {McpServer} from '@modelcontextprotocol/sdk/server/mcp.js'
import {StdioServerTransport} from '@modelcontextprotocol/sdk/server/stdio.js'
import {registerAllPrompts} from './prompts/register.js'
import {registerAllResources} from './resources/register.js'
import {registerAllTools} from './tools/register.js'
import {env} from './config/env.js'
import {VERSION} from './config/version.js'
const MCP_SERVER_NAME = '@sanity/mcp-server'
async function initializeServer() {
const server = new McpServer({
name: MCP_SERVER_NAME,
version: VERSION,
})
registerAllTools(server, env.data?.MCP_USER_ROLE)
registerAllPrompts(server)
registerAllResources(server)
return server
}
async function main() {
try {
const server = await initializeServer()
const transport = new StdioServerTransport()
await server.connect(transport)
} catch (error) {
console.error('Fatal error:', error)
process.exit(1)
}
}
main()