get_lobbying_meetings
Retrieve EU lobbying meetings data, with optional filtering by company, to analyze corporate influence and regulatory interactions.
Instructions
Get EU lobbying meetings, optionally filtered by company
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| companyId | No | Optional: Company ID to filter by | |
| limit | No | Maximum number of meetings |
Implementation Reference
- src/database.ts:276-292 (handler)Core handler function that fetches lobbying meetings from the API endpoint '/api/lobbying' and optionally filters by company name.
async getLobbyingMeetings(companyId?: string, limit: number = 20): Promise<any[]> { const data = await this.fetchAPI('/api/lobbying', { limit: limit }); const meetings = data.meetings || data.lobbying || []; if (companyId) { const companies = await this.getAllCompanies(); const company = companies.find(c => c.id === companyId); if (!company) return []; return meetings.filter(meeting => meeting.organization_name && meeting.organization_name.toLowerCase().includes(company.name.toLowerCase()) ); } return meetings; } - src/index.ts:267-284 (registration)Tool registration in the MCP server's listTools handler, including name, description, and input schema.
{ name: 'get_lobbying_meetings', description: 'Get EU lobbying meetings, optionally filtered by company', inputSchema: { type: 'object', properties: { companyId: { type: 'string', description: 'Optional: Company ID to filter by', }, limit: { type: 'number', description: 'Maximum number of meetings', default: 20, }, }, }, }, - src/index.ts:633-635 (handler)MCP CallToolRequest handler switch case that invokes the database method with parsed arguments.
case 'get_lobbying_meetings': result = await this.db.getLobbyingMeetings((args as any)?.companyId, (args as any)?.limit || 20); break; - src/index.ts:270-283 (schema)Input schema definition for the tool, specifying companyId and limit parameters.
inputSchema: { type: 'object', properties: { companyId: { type: 'string', description: 'Optional: Company ID to filter by', }, limit: { type: 'number', description: 'Maximum number of meetings', default: 20, }, }, },