get_user_info
Retrieve user details such as API credit balance from the FetchSERP MCP Server to manage access and monitor usage for SEO, SERP data, and keyword research tasks.
Instructions
Get user information including API credit
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Input Schema (JSON Schema)
{
"properties": {},
"type": "object"
}
Implementation Reference
- index.js:436-443 (registration)Registration of the 'get_user_info' tool including its schema and description in the ListTools response.{ name: 'get_user_info', description: 'Get user information including API credit', inputSchema: { type: 'object', properties: {}, }, },
- index.js:670-671 (handler)Handler for the 'get_user_info' tool, which makes a GET request to the '/api/v1/user' endpoint using the makeRequest method.case 'get_user_info': return await this.makeRequest('/api/v1/user', 'GET', {}, null, token);
- index.js:565-613 (helper)Helper method 'makeRequest' used by the handler to perform authenticated API calls to the FetchSERP service.async makeRequest(endpoint, method = 'GET', params = {}, body = null, token = null) { const fetchserpToken = token || process.env.FETCHSERP_API_TOKEN; if (!fetchserpToken) { throw new McpError( ErrorCode.InvalidRequest, 'FETCHSERP_API_TOKEN is required' ); } const url = new URL(`${API_BASE_URL}${endpoint}`); // Add query parameters for GET requests if (method === 'GET' && Object.keys(params).length > 0) { Object.entries(params).forEach(([key, value]) => { if (value !== undefined && value !== null) { if (Array.isArray(value)) { value.forEach(v => url.searchParams.append(`${key}[]`, v)); } else { url.searchParams.append(key, value.toString()); } } }); } const fetchOptions = { method, headers: { 'Authorization': `Bearer ${fetchserpToken}`, 'Content-Type': 'application/json', }, }; if (body && method !== 'GET') { fetchOptions.body = JSON.stringify(body); } const response = await fetch(url.toString(), fetchOptions); if (!response.ok) { const errorText = await response.text(); throw new McpError( ErrorCode.InternalError, `API request failed: ${response.status} ${response.statusText} - ${errorText}` ); } return await response.json(); }