Get up and running with Hoot quickly!
The application runs at: http://localhost:8009
npx -y @portkey-ai/hootOr install globally:
npm install -g @portkey-ai/hoot
hootHoot supports multiple MCP transports:
- ✅ HTTP - Standard REST endpoints (recommended)
- ✅ SSE (Server-Sent Events) - Real-time streaming
- ❌ stdio - Requires desktop app (not available in browser)
Note: The
stdiotransport needs Node.js APIs likechild_processto spawn local processes. Browsers can't do this for security reasons. Use HTTP or SSE for browser-based connections.
If you have an MCP server URL, Hoot can auto-detect everything:
- Click "+ Add Server"
- Enter server URL:
https://mcp.example.com - Click "Detect & Connect"
- Hoot will automatically:
- Detect transport type (HTTP or SSE)
- Get server name and version
- Detect authentication requirements
- Click "Add & Connect"
- Click "+ Add Server"
- Enter server details:
- Name:
My Server - Transport: HTTP or SSE
- URL:
https://mcp.example.com
- Name:
- Configure authentication if needed
- Click "Connect"
Here's how to create a simple test server:
// test-server.js import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; import express from 'express'; import cors from 'cors';
const app = express(); app.use(cors());
const server = new Server( { name: 'test-server', version: '1.0.0' }, { capabilities: { tools: {} } } );
// Add a test tool server.setRequestHandler('tools/list', async () => ({ tools: [{ name: 'echo', description: 'Echo back the input', inputSchema: { type: 'object', properties: { message: { type: 'string', description: 'Message to echo' } }, required: ['message'] } }] }));
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'echo') {
return {
content: [{
type: 'text',
text: Echo: ${request.params.arguments.message}
}]
};
}
throw new Error('Unknown tool');
});
// SSE endpoint app.get('/sse', async (req, res) => { const transport = new SSEServerTransport('/message', res); await server.connect(transport); });
app.listen(8080, () => { console.log('MCP SSE server running on http://localhost:8080/sse'); });
Install dependencies:
```bash
npm install @modelcontextprotocol/sdk express cors
Run:
node test-server.jsThen in Hoot:
- Enter URL:
http://localhost:8080/sse - Click "Detect & Connect"
- Start testing!
git clone <repo>
npm install
npm run dev:fullBackend runs on 8008, frontend on 8009.
Server won't connect?
- Check the server URL is correct
- Ensure CORS is enabled on your MCP server
- Check browser console for errors
No tools showing?
- Verify the server implements
tools/listhandler - Check connection status (green dot = connected)
Blank screen?
- Check browser console for errors
- Ensure dev server is running on http://localhost:8009
- Try hard refresh (Cmd+Shift+R / Ctrl+Shift+F5)
- Read the Architecture Overview
- Learn about Authentication
- Explore Try in Hoot links
- Check Troubleshooting for common issues