Model Context Protocol (MCP) is a standardized way to connect AI applications to external tools and data sources. For EIGHT, MCP enables:
- Real-time web search for dynamic recommendations
- Content fetching from external APIs
- Multi-source data aggregation
- Enhanced AI responses with live data
EIGHT is configured with two MCP servers:
- Package:
@modelcontextprotocol/server-fetch - Purpose: Fetch web content and API data
- Status: ✅ Enabled by default
- No API key required
- Package:
@modelcontextprotocol/server-brave-search - Purpose: Real-time web search for recommendations
- Status:
⚠️ Disabled (requires API key) - Get API key: https://brave.com/search/api/
Check .kiro/settings/mcp.json:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"],
"disabled": false
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "${VITE_BRAVE_API_KEY}"
},
"disabled": true
}
}
}MCP servers are installed automatically via npx, but you can pre-install them:
# Install fetch server
npm install -g @modelcontextprotocol/server-fetch
# Install brave search server (if you have API key)
npm install -g @modelcontextprotocol/server-brave-search- Visit https://brave.com/search/api/
- Sign up for a free account
- Get your API key
- Add to
.env:
VITE_BRAVE_API_KEY=your_brave_api_key_here- Enable in
.kiro/settings/mcp.json:
"brave-search": {
"disabled": false // Change from true to false
}Run the test utility in your browser console:
import { testMCPConnection } from './src/utils/mcpTest'
testMCPConnection()Expected output:
🔌 Testing MCP Connections...
Testing @modelcontextprotocol/server-fetch...
✅ Fetch MCP server configured
Testing @modelcontextprotocol/server-brave-search...
⚠️ Brave API key not configured (optional)
📊 MCP Connection Summary:
Fetch Server: ✅
Brave Search: ⚠️ (optional)
Once MCP is configured, Kiro can automatically use these tools:
Example 1: Ask Kiro to search
You: "Search for the best ramen restaurants in Tokyo"
Kiro: *uses brave_web_search MCP tool*
Kiro: "I found 5 top-rated ramen spots..."
Example 2: Ask Kiro to fetch data
You: "Fetch the weather forecast from this API"
Kiro: *uses fetch MCP tool*
Kiro: "Here's the forecast data..."
You can also use MCP tools programmatically (when Kiro implements them):
// Example: Enhanced oracle with MCP search
const getEnhancedRecommendation = async (question: string, context: Context) => {
// Kiro would implement this using MCP
const searchResults = await mcp.call('brave_web_search', {
query: `${question} ${context.weather} ${context.location}`
})
return generateOracleResponse(searchResults)
}fetch: Fetch content from any URLmcp.call('fetch', { url: 'https://api.example.com/data' })
brave_web_search: Search the webmcp.call('brave_web_search', { query: 'best pizza in New York', count: 10 })
Error: Cannot find module '@modelcontextprotocol/server-fetch'
Solution:
# Clear npm cache
npm cache clean --force
# Try running with npx (will auto-install)
npx -y @modelcontextprotocol/server-fetchError: Invalid API key
Solution:
- Verify key in
.envfile - Check key is active at https://brave.com/search/api/
- Restart development server
- Check MCP server logs in Kiro
Error: MCP server connection lost
Solution:
- Check internet connection
- Restart Kiro IDE
- Verify MCP configuration in
.kiro/settings/mcp.json - Check MCP server status in Kiro's MCP panel
To avoid manual approval for each MCP call:
{
"mcpServers": {
"brave-search": {
"autoApprove": ["brave_web_search"], // Auto-approve this tool
"disabledTools": [] // Disable specific tools if needed
}
}
}Use environment variables for sensitive data:
{
"env": {
"BRAVE_API_KEY": "${VITE_BRAVE_API_KEY}", // From .env
"CUSTOM_API_KEY": "${VITE_CUSTOM_KEY}"
}
}Add more MCP servers as needed:
{
"mcpServers": {
"fetch": { ... },
"brave-search": { ... },
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}- ❌ Fixed database of recommendations
- ❌ Static, pre-defined options
- ❌ No real-time data
- ❌ Limited variety
- ✅ Unlimited recommendations via search
- ✅ Real-time, fresh data
- ✅ Dynamic, context-aware results
- ✅ Infinite variety
Question: "What should I eat?"
Without MCP:
Response: "Hot ramen warms the soul."
Link: Generic UberEats search
With MCP:
Response: "Tonkotsu ramen at Ichiran, 0.3 mi.
Open now, 4.8★ rating. Rain demands rich broth."
Link: Direct link to Ichiran on UberEats
- ✅ MCP is configured (fetch server active)
⚠️ Get Brave API key (optional but recommended)- 🔄 Test MCP connection
- 🚀 Use MCP in Kiro for enhanced development
- MCP Documentation: https://modelcontextprotocol.io/
- Brave Search API: https://brave.com/search/api/
- MCP Servers: https://github.com/modelcontextprotocol/servers
- Kiro MCP Guide: Check Kiro's documentation for MCP usage
Ready to use MCP? Start by testing the fetch server, then add Brave Search for unlimited recommendations! 🎱✨