XAPIHub MCP Extension
Integrates XAPIHub API services with the Cursor IDE to enable user authentication, real-time data fetching, and connection diagnostics. It allows developers to interact with their XAPIHub organization and manage user details directly through natural language commands.
README
XAPIHub MCP Extension for Cursor
A Model Context Protocol (MCP) extension that integrates XAPIHub API with Cursor IDE, allowing developers to interact with XAPIHub services directly from their development environment.
Features
- š User Authentication: Get current user details from XAPIHub
- š API Integration: Direct connection to XAPIHub API endpoints
- ā” Real-time Data: Fetch live data from your XAPIHub organization
- š ļø Developer Tools: Built-in connection testing and diagnostics
Installation
Prerequisites
- Node.js 18+
- Cursor IDE with MCP support
- XAPIHub account and API token
Setup
-
Clone and Install Dependencies
git clone <your-repo-url> cd xapihub-mcp-extension npm install -
Configure Environment
cp env.example .envEdit
.envwith your XAPIHub credentials:XAPIHUB_BASE_URL=https://api-dev.xapihub.io XAPIHUB_TOKEN=your_bearer_token_here -
Build the Extension
npm run build -
Install in Cursor
- Open Cursor IDE
- Go to Extensions > Install from VSIX
- Select the built extension package
- Or configure MCP server manually (see below)
Manual MCP Server Configuration
If you prefer to run the MCP server directly, add this to your Cursor MCP configuration:
{
"mcpServers": {
"xapihub": {
"command": "node",
"args": ["path/to/your/dist/index.js"],
"env": {
"XAPIHUB_BASE_URL": "https://api-dev.xapihub.io",
"XAPIHUB_TOKEN": "your_bearer_token_here"
}
}
}
}
Available Tools
get_current_user
Retrieves current user details from XAPIHub API.
Example Response:
{
"success": true,
"message": "Current user details retrieved successfully",
"user": {
"id": "user_id",
"username": "username",
"email": "user@example.com",
"fullName": "John Doe",
"organization": "org_id",
"organizationType": "PREMIUM",
"userType": "ORGANIZATION_OWNER",
"userOrganizationAssociation": "OWNER",
"organizationVisibility": "PUBLIC",
"emailVerified": true,
"readOnlyOrganization": false,
"projectCount": 5,
"userScopes": ""
}
}
test_xapihub_connection
Tests connectivity to XAPIHub API.
Example Response:
{
"success": true,
"connected": true,
"message": "Successfully connected to XAPIHub API"
}
Usage in Cursor
Once installed, you can use the XAPIHub tools in several ways:
-
Command Palette:
- Press
Ctrl+Shift+P(Windows/Linux) orCmd+Shift+P(Mac) - Type "XAPIHub" to see available commands
- Press
-
MCP Tools:
- Use the tools directly in your code context
- Ask Cursor to "Get my XAPIHub user details"
- Request "Test XAPIHub connection"
-
Chat Integration:
- Ask Cursor: "What are my XAPIHub user details?"
- Request: "Check if I'm connected to XAPIHub"
Development
Project Structure
src/
āāā types/
ā āāā xapihub.ts # TypeScript type definitions
āāā services/
ā āāā xapihub-client.ts # XAPIHub API client
āāā server.ts # MCP server implementation
āāā index.ts # Main entry point
Scripts
npm run build- Build TypeScript to JavaScriptnpm run dev- Watch mode for developmentnpm run start- Start the MCP servernpm test- Run tests (when implemented)
Adding New Tools
-
Define the tool in
src/server.ts:{ name: 'your_tool_name', description: 'Tool description', inputSchema: { type: 'object', properties: { // Define input parameters }, required: [], }, } -
Implement the handler:
case 'your_tool_name': return await this.handleYourTool(args); -
Add the implementation method:
private async handleYourTool(args: any) { // Implementation }
API Reference
The extension uses the XAPIHub REST API. Current endpoint:
GET /platform/1.0.0/users/current-user- Get current user details
Troubleshooting
Common Issues
-
Authentication Error
- Verify your
XAPIHUB_TOKENis correct and not expired - Check that the token has proper permissions
- Verify your
-
Connection Failed
- Ensure
XAPIHUB_BASE_URLis correct - Check network connectivity
- Verify API endpoint is accessible
- Ensure
-
MCP Server Not Starting
- Check Node.js version (18+ required)
- Verify all dependencies are installed
- Check console for error messages
Debug Mode
To enable debug logging, set environment variable:
DEBUG=xapihub:* npm run start
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
- GitHub Issues: Create an issue
- Documentation: XAPIHub Docs
- Email: support@xapihub.io
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.