We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/melihbirim/pg-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
#!/usr/bin/env node
// Simple manual test to see detailed output from our MCP server
import { spawn } from 'child_process';
const mcpProcess = spawn('node', ['./build/index.js'], {
stdio: ['pipe', 'pipe', 'pipe']
});
// Initialize the server
const initRequest = {
jsonrpc: "2.0",
id: 1,
method: "initialize",
params: {
protocolVersion: "2024-11-05",
capabilities: {},
clientInfo: { name: "manual-test", version: "1.0.0" }
}
};
mcpProcess.stdout.on('data', (data) => {
const response = data.toString().trim();
console.log('π¦ Server Response:', response);
console.log('');
});
mcpProcess.stderr.on('data', (data) => {
console.log('π Server Log:', data.toString().trim());
});
mcpProcess.on('close', (code) => {
console.log(`\nπ Process exited with code ${code}`);
});
// Send initialization request
console.log('π Sending initialization request...');
mcpProcess.stdin.write(JSON.stringify(initRequest) + '\n');
// Send connection request after 1 second
setTimeout(() => {
const connectRequest = {
jsonrpc: "2.0",
id: 2,
method: "tools/call",
params: {
name: "connect_database",
arguments: {
host: "localhost",
port: 5432,
database: "testdb",
username: "testuser",
password: "testpass"
}
}
};
console.log('π Sending connect request...');
mcpProcess.stdin.write(JSON.stringify(connectRequest) + '\n');
}, 1000);
// Send query request after 2 seconds
setTimeout(() => {
const queryRequest = {
jsonrpc: "2.0",
id: 3,
method: "tools/call",
params: {
name: "execute_query",
arguments: {
query: "SELECT name, email, age FROM users WHERE age > 30 ORDER BY age DESC",
limit: 3
}
}
};
console.log('π Sending query request...');
mcpProcess.stdin.write(JSON.stringify(queryRequest) + '\n');
}, 2000);
// Clean exit after 4 seconds
setTimeout(() => {
console.log('π Stopping server...');
mcpProcess.kill();
process.exit(0);
}, 4000);
process.on('SIGINT', () => {
mcpProcess.kill();
process.exit(0);
});