@blario/mcp
Version:
Blar Model Context Protocol server
44 lines (43 loc) • 1.44 kB
JavaScript
import { z } from 'zod';
import { blarAPIClient, BLAR_API_BASE } from '../api-client.js';
export const getPullRequestIssueByIdSchema = {
issue_id: z.string().describe('ID of the pull request issue'),
};
export async function getPullRequestIssueByIdHandler({ issue_id, }) {
const url = `${BLAR_API_BASE}/agents/pull-request-issue/${issue_id}/`;
const data = await blarAPIClient.makeRequest(url);
if (!data) {
return {
content: [
{
type: 'text',
text: `Failed to retrieve pull request issue with id: ${issue_id}`,
},
],
};
}
// Format the pull request issue
let formatted = [
`Text: ${data.text}`,
`Start Line: ${data.start_line}`,
`End Line: ${data.end_line}`,
`Severity: ${data.severity}`,
`File Path: ${data.file_path}`,
'---',
].join('\n');
if (data.considerations && data.considerations.length > 0) {
formatted += '\nConsiderations:';
data.considerations.forEach((c, idx) => {
formatted += `\n [${idx + 1}] Title: ${c.title}\n Description: ${c.description}\n Code Snippet: ${c.code_snippet || 'No code snippet'}`;
});
formatted += '\n---';
}
return {
content: [
{
type: 'text',
text: formatted,
},
],
};
}