Development Tools Integration
Enhance your development environment with LookC company research capabilities through VSCode, Cursor, and other development tools.
Overview
Integrating LookC MCP server with development tools enables developers to access company research data directly within their coding environment, streamlining prospect research, competitive analysis, and customer development workflows.
VSCode Extensions
MCP-compatible extensions for seamless company research within your editor.
Cursor AI Integration
Enhanced AI coding assistance with real-time company data context.
Custom Workflows
Build custom development workflows that incorporate company research data.
VSCode Integration
Configure VSCode to use LookC MCP server through HTTP transport for company research capabilities.
HTTP Client Configuration
VSCode HTTP setup
{
"rest-client.environmentVariables": {
"local": {
"lookc_endpoint": "https://api.lookc.io/mcp",
"lookc_api_key": "${env:LOOKC_API_KEY}"
}
},
"lookc.mcp.endpoint": "https://api.lookc.io/mcp",
"lookc.mcp.timeout": 30000
}
Custom Extension Development
VSCode extension
import * as vscode from 'vscode';
import axios from 'axios';
interface LookCMCPClient {
callTool(toolName: string, arguments: any): Promise<any>;
}
class LookCMCPClientImpl implements LookCMCPClient {
private apiKey: string;
private endpoint = 'https://api.lookc.io/mcp';
constructor(apiKey: string) {
this.apiKey = apiKey;
}
async callTool(toolName: string, arguments: any): Promise<any> {
const payload = {
jsonrpc: '2.0',
id: Date.now(),
method: 'tools/call',
params: {
name: toolName,
arguments
}
};
const response = await axios.post(this.endpoint, payload, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.apiKey}`
}
});
return response.data;
}
}
export function activate(context: vscode.ExtensionContext) {
const apiKey = vscode.workspace.getConfiguration().get<string>('lookc.apiKey');
if (!apiKey) {
vscode.window.showErrorMessage('LookC API key not configured');
return;
}
const client = new LookCMCPClientImpl(apiKey);
const researchCommand = vscode.commands.registerCommand(
'lookc.researchCompany',
async () => {
const linkedinUrl = await vscode.window.showInputBox({
prompt: 'Enter LinkedIn company URL',
placeholder: 'https://www.linkedin.com/company/example'
});
if (!linkedinUrl) return;
try {
const result = await client.callTool('get_organization_ids', {
linkedin_url: linkedinUrl
});
const panel = vscode.window.createWebviewPanel(
'lookc-research',
'LookC Company Research',
vscode.ViewColumn.One,
{ enableScripts: true }
);
panel.webview.html = generateResearchHTML(result);
} catch (error) {
vscode.window.showErrorMessage(`Research failed: ${error}`);
}
}
);
context.subscriptions.push(researchCommand);
}
function generateResearchHTML(data: any): string {
return `
<!DOCTYPE html>
<html>
<head>
<title>Company Research</title>
<style>
body { font-family: Arial, sans-serif; padding: 20px; }
.company-info { background: #f5f5f5; padding: 15px; border-radius: 5px; }
</style>
</head>
<body>
<h1>Company Research Results</h1>
<div class="company-info">
<pre>${JSON.stringify(data, null, 2)}</pre>
</div>
</body>
</html>
`;
}
Cursor Integration
Cursor's AI-powered development environment can leverage LookC MCP server through HTTP transport.
HTTP Configuration
Cursor HTTP setup
{
"cursor.ai.contextSources": ["lookc-http"],
"cursor.ai.enableHTTPTools": true,
"lookc.http.endpoint": "https://api.lookc.io/mcp",
"lookc.http.headers": {
"Authorization": "Bearer ${env:LOOKC_API_KEY}",
"Content-Type": "application/json"
}
}
Development Workflows
Common development workflows enhanced with LookC integration.
Customer Research Workflow
Customer research
interface CustomerResearchWorkflow {
prospectCompany(linkedinUrl: string): Promise<CompanyProfile>;
identifyDecisionMakers(orgId: string): Promise<Employee[]>;
analyzeTeamStructure(employees: Employee[]): TeamAnalysis;
}
class LookCCustomerResearch implements CustomerResearchWorkflow {
private endpoint = 'https://api.lookc.io/mcp';
private apiKey: string;
constructor(apiKey: string) {
this.apiKey = apiKey;
}
async prospectCompany(linkedinUrl: string): Promise<CompanyProfile> {
// Get organization information
const orgInfo = await this.callTool('get_organization_ids', {
linkedin_url: linkedinUrl
});
// Get employee overview
const employees = await this.callTool('get_employee_list', {
org_id: orgInfo.orgId,
limit: 200
});
return {
organization: orgInfo,
employeeCount: employees.employees.length,
departments: this.categorizeDepartments(employees.employees),
keyPersonnel: employees.employees.filter(emp =>
emp.seniority_level === 'PARTNER_CXO'
)
};
}
async identifyDecisionMakers(orgId: string): Promise<Employee[]> {
const result = await this.callTool('get_employee_list', {
org_id: orgId,
title_regex: 'cto|vp|director|head of|chief',
seniority_levels: ['PARTNER_CXO', 'VP_DIRECTOR'],
limit: 50
});
return result.employees;
}
private async callTool(toolName: string, arguments: any) {
const response = await fetch(this.endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${this.apiKey}`
},
body: JSON.stringify({
jsonrpc: '2.0',
id: Date.now(),
method: 'tools/call',
params: { name: toolName, arguments }
})
});
const result = await response.json();
return result.result.content[0].text ? JSON.parse(result.result.content[0].text) : result.result;
}
}
Best Practices
Environment Security
Store API keys in environment variables and never commit them to version control.
HTTP Transport
Use standard HTTP clients for maximum compatibility across development tools.
For additional integration patterns, explore our Custom Agents guide and LLM Frameworks documentation.
