github / github/github-mcp-server

Github MCP Tools don't work with Gemini 2.5 models familly and langchain/deepagents javascript library

Abierto
#1,385 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
33k
Forks
5k
Merge medio
2 d 1 h
PR fusionados (30 d)
52

Descripción

# Github MCP Tools aren't working with Gemini 2.5 models familly and deepagents javascript library

Code defines the mcp tools 'retriver':
```typescript
export async function getGithubMCPTools(userToken: string, config?: { beforeToolCall?: () => Promise | void, afterToolCall: () => Promise | void }, toolName: string = "mcpGithubTool") {
const githubServerConfig: ClientConfig = {
mcpServers: {
github: {
transport: "http" as const,
url: "https://api.githubcopilot.com/mcp/",
headers: {
"Authorization": `Bearer ${userToken}`
},
}
},
beforeToolCall: config?.beforeToolCall,
afterToolCall: config?.afterToolCall,
additionalToolNamePrefix: toolName
};

// Initialize the client
const mcpClient = new MultiServerMCPClient(githubServerConfig);
await mcpClient.initializeConnections();

// Load the tools exposed by the GitHub server
const githubMCPTools = await mcpClient.getTools();

console.log('Tools', githubMCPTools)

// Returns
return githubMCPTools;
}
```

Error Trace:
```text
Error occured while computing the Deep agents outcome GoogleGenerativeAIFetchError: Error in middleware "todoListMiddleware": Error in middleware "FilesystemMiddleware": Error in middleware "PromptCachingMiddleware": [GoogleGenerativeAI Error]: Error fetching from https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent: [400 Bad Request] Invalid JSON payload received. Unknown name "lc" at 'tools[0]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[0]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[0]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[1]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[1]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[1]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[2]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[2]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[2]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[3]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[3]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[3]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[4]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[4]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[4]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[5]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[5]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[5]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[6]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[6]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[6]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[7]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[7]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[7]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[8]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[8]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[8]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[9]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[9]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[9]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[10]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[10]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[10]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[11]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[11]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[11]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[12]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[12]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[12]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[13]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[13]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[13]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[14]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[14]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[14]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[15]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[15]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[15]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[16]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[16]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[16]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[17]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[17]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[17]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[18]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[18]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[18]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[19]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[19]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[19]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[20]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[20]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[20]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[21]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[21]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[21]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[22]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[22]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[22]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[23]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[23]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[23]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[24]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[24]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[24]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[25]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[25]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[25]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[26]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[26]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[26]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[27]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[27]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[27]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[28]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[28]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[28]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[29]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[29]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[29]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[30]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[30]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[30]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[31]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[31]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[31]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[32]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[32]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[32]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[33]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[33]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[33]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[34]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[34]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[34]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[35]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[35]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[35]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[36]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[36]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[36]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[37]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[37]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[37]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[38]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[38]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[38]': Cannot find field.
Invalid JSON payload received. Unknown name "lc" at 'tools[39]': Cannot find field.
Invalid JSON payload received. Unknown name "type" at 'tools[39]': Cannot find field.
Invalid JSON payload received. Unknown name "id" at 'tools[39]': Cannot find field. [{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"tools[0]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[0]': Cannot find field."},{"field":"tools[0]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[0]': Cannot find field."},{"field":"tools[0]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[0]': Cannot find field."},{"field":"tools[1]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[1]': Cannot find field."},{"field":"tools[1]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[1]': Cannot find field."},{"field":"tools[1]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[1]': Cannot find field."},{"field":"tools[2]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[2]': Cannot find field."},{"field":"tools[2]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[2]': Cannot find field."},{"field":"tools[2]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[2]': Cannot find field."},{"field":"tools[3]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[3]': Cannot find field."},{"field":"tools[3]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[3]': Cannot find field."},{"field":"tools[3]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[3]': Cannot find field."},{"field":"tools[4]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[4]': Cannot find field."},{"field":"tools[4]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[4]': Cannot find field."},{"field":"tools[4]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[4]': Cannot find field."},{"field":"tools[5]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[5]': Cannot find field."},{"field":"tools[5]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[5]': Cannot find field."},{"field":"tools[5]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[5]': Cannot find field."},{"field":"tools[6]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[6]': Cannot find field."},{"field":"tools[6]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[6]': Cannot find field."},{"field":"tools[6]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[6]': Cannot find field."},{"field":"tools[7]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[7]': Cannot find field."},{"field":"tools[7]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[7]': Cannot find field."},{"field":"tools[7]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[7]': Cannot find field."},{"field":"tools[8]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[8]': Cannot find field."},{"field":"tools[8]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[8]': Cannot find field."},{"field":"tools[8]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[8]': Cannot find field."},{"field":"tools[9]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[9]': Cannot find field."},{"field":"tools[9]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[9]': Cannot find field."},{"field":"tools[9]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[9]': Cannot find field."},{"field":"tools[10]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[10]': Cannot find field."},{"field":"tools[10]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[10]': Cannot find field."},{"field":"tools[10]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[10]': Cannot find field."},{"field":"tools[11]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[11]': Cannot find field."},{"field":"tools[11]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[11]': Cannot find field."},{"field":"tools[11]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[11]': Cannot find field."},{"field":"tools[12]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[12]': Cannot find field."},{"field":"tools[12]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[12]': Cannot find field."},{"field":"tools[12]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[12]': Cannot find field."},{"field":"tools[13]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[13]': Cannot find field."},{"field":"tools[13]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[13]': Cannot find field."},{"field":"tools[13]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[13]': Cannot find field."},{"field":"tools[14]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[14]': Cannot find field."},{"field":"tools[14]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[14]': Cannot find field."},{"field":"tools[14]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[14]': Cannot find field."},{"field":"tools[15]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[15]': Cannot find field."},{"field":"tools[15]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[15]': Cannot find field."},{"field":"tools[15]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[15]': Cannot find field."},{"field":"tools[16]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[16]': Cannot find field."},{"field":"tools[16]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[16]': Cannot find field."},{"field":"tools[16]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[16]': Cannot find field."},{"field":"tools[17]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[17]': Cannot find field."},{"field":"tools[17]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[17]': Cannot find field."},{"field":"tools[17]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[17]': Cannot find field."},{"field":"tools[18]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[18]': Cannot find field."},{"field":"tools[18]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[18]': Cannot find field."},{"field":"tools[18]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[18]': Cannot find field."},{"field":"tools[19]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[19]': Cannot find field."},{"field":"tools[19]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[19]': Cannot find field."},{"field":"tools[19]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[19]': Cannot find field."},{"field":"tools[20]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[20]': Cannot find field."},{"field":"tools[20]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[20]': Cannot find field."},{"field":"tools[20]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[20]': Cannot find field."},{"field":"tools[21]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[21]': Cannot find field."},{"field":"tools[21]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[21]': Cannot find field."},{"field":"tools[21]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[21]': Cannot find field."},{"field":"tools[22]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[22]': Cannot find field."},{"field":"tools[22]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[22]': Cannot find field."},{"field":"tools[22]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[22]': Cannot find field."},{"field":"tools[23]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[23]': Cannot find field."},{"field":"tools[23]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[23]': Cannot find field."},{"field":"tools[23]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[23]': Cannot find field."},{"field":"tools[24]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[24]': Cannot find field."},{"field":"tools[24]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[24]': Cannot find field."},{"field":"tools[24]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[24]': Cannot find field."},{"field":"tools[25]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[25]': Cannot find field."},{"field":"tools[25]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[25]': Cannot find field."},{"field":"tools[25]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[25]': Cannot find field."},{"field":"tools[26]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[26]': Cannot find field."},{"field":"tools[26]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[26]': Cannot find field."},{"field":"tools[26]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[26]': Cannot find field."},{"field":"tools[27]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[27]': Cannot find field."},{"field":"tools[27]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[27]': Cannot find field."},{"field":"tools[27]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[27]': Cannot find field."},{"field":"tools[28]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[28]': Cannot find field."},{"field":"tools[28]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[28]': Cannot find field."},{"field":"tools[28]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[28]': Cannot find field."},{"field":"tools[29]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[29]': Cannot find field."},{"field":"tools[29]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[29]': Cannot find field."},{"field":"tools[29]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[29]': Cannot find field."},{"field":"tools[30]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[30]': Cannot find field."},{"field":"tools[30]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[30]': Cannot find field."},{"field":"tools[30]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[30]': Cannot find field."},{"field":"tools[31]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[31]': Cannot find field."},{"field":"tools[31]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[31]': Cannot find field."},{"field":"tools[31]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[31]': Cannot find field."},{"field":"tools[32]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[32]': Cannot find field."},{"field":"tools[32]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[32]': Cannot find field."},{"field":"tools[32]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[32]': Cannot find field."},{"field":"tools[33]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[33]': Cannot find field."},{"field":"tools[33]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[33]': Cannot find field."},{"field":"tools[33]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[33]': Cannot find field."},{"field":"tools[34]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[34]': Cannot find field."},{"field":"tools[34]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[34]': Cannot find field."},{"field":"tools[34]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[34]': Cannot find field."},{"field":"tools[35]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[35]': Cannot find field."},{"field":"tools[35]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[35]': Cannot find field."},{"field":"tools[35]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[35]': Cannot find field."},{"field":"tools[36]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[36]': Cannot find field."},{"field":"tools[36]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[36]': Cannot find field."},{"field":"tools[36]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[36]': Cannot find field."},{"field":"tools[37]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[37]': Cannot find field."},{"field":"tools[37]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[37]': Cannot find field."},{"field":"tools[37]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[37]': Cannot find field."},{"field":"tools[38]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[38]': Cannot find field."},{"field":"tools[38]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[38]': Cannot find field."},{"field":"tools[38]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[38]': Cannot find field."},{"field":"tools[39]","description":"Invalid JSON payload received. Unknown name \"lc\" at 'tools[39]': Cannot find field."},{"field":"tools[39]","description":"Invalid JSON payload received. Unknown name \"type\" at 'tools[39]': Cannot find field."},{"field":"tools[39]","description":"Invalid JSON payload received. Unknown name \"id\" at 'tools[39]': Cannot find field."}]}]
at handleResponseNotOk (C:\x\node_modules\@langchain\google-genai\node_modules\@google\generative-ai\dist\index.js:434:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at makeRequest (C:\x\node_modules\@langchain\google-genai\node_modules\@google\generative-ai\dist\index.js:403:9)
at generateContent (C:\x\node_modules\@langchain\google-genai\node_modules\@google\generative-ai\dist\index.js:867:22)
at C:\Users\x\node_modules\@langchain\google-genai\src\chat_models.ts:984:18
at RetryOperation._fn (C:\x\node_modules\p-retry\index.js:50:12) {
status: 400,
statusText: 'Bad Request',
errorDetails: [
{
'@type': 'type.googleapis.com/google.rpc.BadRequest',
fieldViolations: [Array]
}
],
attemptNumber: 1,
retriesLeft: 6,
pregelTaskId: 'some_id_idk_what_sb_can_do_with_it'
}
```

While `console.log` prints:

```typescript
[
DynamicStructuredTool {
lc_serializable: false,
lc_kwargs: {
name: 'mcpGithubTool__update_pull_request',
description: 'Update an existing pull request in a GitHub repository.',
schema: [Object],
responseFormat: 'content_and_artifact',
metadata: [Object],
defaultConfig: undefined,
func: [AsyncFunction: func]
},
lc_runnable: true,
name: 'mcpGithubTool__update_pull_request',
verbose: false,
callbacks: undefined,
tags: [],
metadata: { annotations: [Object] },
returnDirect: false,
verboseParsingErrors: false,
responseFormat: 'content_and_artifact',
defaultConfig: undefined,
description: 'Update an existing pull request in a GitHub repository.',
func: [AsyncFunction: func],
schema: { type: 'object', properties: [Object], required: [Array] }
},
DynamicStructuredTool {
lc_serializable: false,
lc_kwargs: {
name: 'mcpGithubTool__update_pull_request_branch',
description: 'Update the branch of a pull request with the latest changes from the base branch.',
schema: [Object],
responseFormat: 'content_and_artifact',
metadata: [Object],
defaultConfig: undefined,
func: [AsyncFunction: func]
},
lc_runnable: true,
name: 'mcpGithubTool__update_pull_request_branch',
verbose: false,
callbacks: undefined,
tags: [],
metadata: { annotations: [Object] },
returnDirect: false,
verboseParsingErrors: false,
responseFormat: 'content_and_artifact',
defaultConfig: undefined,
description: 'Update the branch of a pull request with the latest changes from the base branch.',
func: [AsyncFunction: func],
schema: { type: 'object', properties: [Object], required: [Array] }
},
...and_so_on
]
```

The error is on side of Google.
Has somebody the working solution will make the tools executable? since this:

```typescript
export async function getGithubMCPTools(userToken: string, config?: { beforeToolCall?: () => Promise | void, afterToolCall: () => Promise | void }, toolName: string = "mcpGithubTool") {
const githubServerConfig: ClientConfig = {
mcpServers: {
github: {
transport: "http" as const,
url: "https://api.githubcopilot.com/mcp/",
headers: {
"Authorization": `Bearer ${userToken}`
},
}
},
beforeToolCall: config?.beforeToolCall,
afterToolCall: config?.afterToolCall,
additionalToolNamePrefix: toolName
};

// Initialize the client
const mcpClient = new MultiServerMCPClient(githubServerConfig);
await mcpClient.initializeConnections();

// Load the tools exposed by the GitHub server
const githubMCPTools = await mcpClient.getTools();
const formattedFunctionDeclarations = githubMCPTools.map(tool => {
const sanitizedSchema = sanitizeSchema(tool.schema);

return {
name: tool.name,
description: tool.description,
parameters: sanitizedSchema,
};
});

// 2. Wrap the array of formatted tools in the final structure Gemini expects.
const geminiFormattedTools = [{
functionDeclarations: formattedFunctionDeclarations
}];

// --- END: NEW FORMATTING LOGIC ---

console.log('Final formatted tools for Gemini:', JSON.stringify(geminiFormattedTools, null, 2));

// Return the correctly structured and wrapped tools
return {
executableTools: githubMCPTools,
formattedToolsForGemini: geminiFormattedTools
};
}
```

is the solution but tools aren't executable anymore

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.