AgentStack
MCP verified MIT Self-run

Mcp Spring Ai Mcp Client

mcp-chaozai0304-mcp-spring-ai-mcp-client · by chaozai0304

使用java实现mcp client了解底层的调用机制,demo示例

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add mcp-chaozai0304-mcp-spring-ai-mcp-client

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-chaozai0304-mcp-spring-ai-mcp-client)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
stale · 1y ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Mcp Spring Ai Mcp Client? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

代码介绍和启动方式说明

1. springboot ai创建mcp client

````` 1.调用AI查询使用那个call 入参为: 入口为:org.springframework.ai.openai.OpenAiChatModel#internalCall -调用->>org.springframework.ai.openai.api.OpenAiApi#chatCompletionEntity(org.springframework.ai.openai.api.OpenAiApi.ChatCompletionRequest, org.springframework.util.MultiValueMap) 返回使用mcp的入参 2.调用org.springframework.ai.mcp.SyncMcpToolCallback#call 所有的call mcpserver的入口 日志打印io.modelcontextprotocol.spec.McpSchema#deserializeJsonRpcMessage

3.最后在调用AI进行信息汇总 入参为: 入口为:org.springframework.ai.openai.OpenAiChatModel#internalCall -调用->>org.springframework.ai.openai.api.OpenAiApi#chatCompletionEntity(org.springframework.ai.openai.api.OpenAiApi.ChatCompletionRequest, org.springframework.util.MultiValueMap) `````

### 请求大模型的入参示例

````` { "messages": [ { "content": "查询chaozai0304所有项目", "role": "user" } ], "model": "gpt-4o", "stream": false, "temperature": 0.7, "tools": [ { "type": "function", "function": { "description": "Create or update a single file in a GitHub repository", "name": "createorupdatefile", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "path": { "type": "string", "description": "Path where to create/update the file" }, "content": { "type": "string", "description": "Content of the file" }, "message": { "type": "string", "description": "Commit message" }, "branch": { "type": "string", "description": "Branch to create/update the file in" }, "sha": { "type": "string", "description": "SHA of the file being replaced (required when updating existing files)" } }, "required": [ "owner", "repo", "path", "content", "message", "branch" ] } } }, { "type": "function", "function": { "description": "Search for GitHub repositories", "name": "searchrepositories", "parameters": { "additionalProperties": false, "type": "object", "properties": { "query": { "type": "string", "description": "Search query (see GitHub search syntax)" }, "page": { "type": "number", "description": "Page number for pagination (default: 1)" }, "perPage": { "type": "number", "description": "Number of results per page (default: 30, max: 100)" } }, "required": [ "query" ] } } }, { "type": "function", "function": { "description": "Create a new GitHub repository in your account", "name": "createrepository", "parameters": { "additionalProperties": false, "type": "object", "properties": { "name": { "type": "string", "description": "Repository name" }, "description": { "type": "string", "description": "Repository description" }, "private": { "type": "boolean", "description": "Whether the repository should be private" }, "autoInit": { "type": "boolean", "description": "Initialize with README.md" } }, "required": [ "name" ] } } }, { "type": "function", "function": { "description": "Get the contents of a file or directory from a GitHub repository", "name": "getfilecontents", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "path": { "type": "string", "description": "Path to the file or directory" }, "branch": { "type": "string", "description": "Branch to get contents from" } }, "required": [ "owner", "repo", "path" ] } } }, { "type": "function", "function": { "description": "Push multiple files to a GitHub repository in a single commit", "name": "pushfiles", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "branch": { "type": "string", "description": "Branch to push to (e.g., 'main' or 'master')" }, "files": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string" }, "content": { "type": "string" } }, "required": [ "path", "content" ], "additionalProperties": false }, "description": "Array of files to push" }, "message": { "type": "string", "description": "Commit message" } }, "required": [ "owner", "repo", "branch", "files", "message" ] } } }, { "type": "function", "function": { "description": "Create a new issue in a GitHub repository", "name": "createissue", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string" }, "repo": { "type": "string" }, "title": { "type": "string" }, "body": { "type": "string" }, "assignees": { "type": "array", "items": { "type": "string" } }, "milestone": { "type": "number" }, "labels": { "type": "array", "items": { "type": "string" } } }, "required": [ "owner", "repo", "title" ] } } }, { "type": "function", "function": { "description": "Create a new pull request in a GitHub repository", "name": "createpullrequest", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "title": { "type": "string", "description": "Pull request title" }, "body": { "type": "string", "description": "Pull request body/description" }, "head": { "type": "string", "description": "The name of the branch where your changes are implemented" }, "base": { "type": "string", "description": "The name of the branch you want the changes pulled into" }, "draft": { "type": "boolean", "description": "Whether to create the pull request as a draft" }, "maintainercanmodify": { "type": "boolean", "description": "Whether maintainers can modify the pull request" } }, "required": [ "owner", "repo", "title", "head", "base" ] } } }, { "type": "function", "function": { "description": "Fork a GitHub repository to your account or specified organization", "name": "forkrepository", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "organization": { "type": "string", "description": "Optional: organization to fork to (defaults to your personal account)" } }, "required": [ "owner", "repo" ] } } }, { "type": "function", "function": { "description": "Create a new branch in a GitHub repository", "name": "createbranch", "parameters": { "additionalProperties": false, "type": "object", "properties": { "owner": { "type": "string", "description": "Repository owner (username or organization)" }, "repo": { "type": "string", "description": "Repository name" }, "branch": { "type": "string", "description": "Name for the new branch" }, "frombranch": { "type": "string", "description": "Optional: source branch to create from (defaults to the repository's default branch)"

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.