<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>快速开始 on 云原生 MCP 服务器</title><link>https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/</link><description>Recent content in 快速开始 on 云原生 MCP 服务器</description><generator>Hugo</generator><language>zh-cn</language><atom:link href="https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/index.xml" rel="self" type="application/rss+xml"/><item><title>FAQ</title><link>https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/faq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/faq/</guid><description>&lt;h1 id="快速开始-faq"&gt;快速开始 FAQ&lt;a class="anchor" href="#%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b-faq"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;h2 id="应该优先选择哪种运行模式"&gt;应该优先选择哪种运行模式？&lt;a class="anchor" href="#%e5%ba%94%e8%af%a5%e4%bc%98%e5%85%88%e9%80%89%e6%8b%a9%e5%93%aa%e7%a7%8d%e8%bf%90%e8%a1%8c%e6%a8%a1%e5%bc%8f"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;建议按以下优先级判断：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;streamable-http&lt;/code&gt;: 更现代的 MCP 传输方式，生产环境优先&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sse&lt;/code&gt;: 兼容性最好，适合快速接入和广泛客户端适配&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果没有明确约束，先用 &lt;code&gt;sse&lt;/code&gt; 验证链路，再迁移到 &lt;code&gt;streamable-http&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="为什么会返回-401-unauthorized"&gt;为什么会返回 &lt;code&gt;401 unauthorized&lt;/code&gt;？&lt;a class="anchor" href="#%e4%b8%ba%e4%bb%80%e4%b9%88%e4%bc%9a%e8%bf%94%e5%9b%9e-401-unauthorized"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;按顺序排查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;运行时是否启用了 &lt;code&gt;MCP_AUTH_ENABLED=true&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MCP_AUTH_MODE&lt;/code&gt; 是否为 &lt;code&gt;apikey&lt;/code&gt;、&lt;code&gt;bearer&lt;/code&gt;、&lt;code&gt;basic&lt;/code&gt; 之一。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apikey&lt;/code&gt; 模式下 &lt;code&gt;MCP_AUTH_API_KEY&lt;/code&gt; 是否非空且与请求一致。&lt;/li&gt;
&lt;li&gt;请求是否通过 &lt;code&gt;X-Api-Key&lt;/code&gt; 头或 &lt;code&gt;api_key&lt;/code&gt; 查询参数携带密钥。&lt;/li&gt;
&lt;li&gt;修改配置后是否重启了进程或容器。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="api-key-应该放在-header-还是-query"&gt;API Key 应该放在 Header 还是 Query？&lt;a class="anchor" href="#api-key-%e5%ba%94%e8%af%a5%e6%94%be%e5%9c%a8-header-%e8%bf%98%e6%98%af-query"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;两种方式都支持，生产环境建议优先使用 Header：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -sS -N &lt;span style="color:#0a3069"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#0a3069"&gt;&amp;#34;X-Api-Key: ChangeMe-Strong-Key-123!&amp;#34;&lt;/span&gt; &lt;span style="color:#0a3069"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; http://127.0.0.1:8080/api/aggregate/sse&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Query 参数建议只用于本地快速验证。&lt;/p&gt;
&lt;h2 id="如何减少返回内容避免模型上下文过大"&gt;如何减少返回内容，避免模型上下文过大？&lt;a class="anchor" href="#%e5%a6%82%e4%bd%95%e5%87%8f%e5%b0%91%e8%bf%94%e5%9b%9e%e5%86%85%e5%ae%b9%e9%81%bf%e5%85%8d%e6%a8%a1%e5%9e%8b%e4%b8%8a%e4%b8%8b%e6%96%87%e8%bf%87%e5%a4%a7"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;优先调用摘要类工具，再决定是否拉取明细。&lt;/li&gt;
&lt;li&gt;大结果集优先使用分页能力。&lt;/li&gt;
&lt;li&gt;通过 &lt;code&gt;MCP_DISABLED_SERVICES&lt;/code&gt; 禁用暂不需要的服务。&lt;/li&gt;
&lt;li&gt;配置限流，避免突发请求堆积。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="可以只启用部分服务吗"&gt;可以只启用部分服务吗？&lt;a class="anchor" href="#%e5%8f%af%e4%bb%a5%e5%8f%aa%e5%90%af%e7%94%a8%e9%83%a8%e5%88%86%e6%9c%8d%e5%8a%a1%e5%90%97"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;可以，示例如下：&lt;/p&gt;</description></item><item><title>故障排除</title><link>https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/troubleshooting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://mahmut-abi.github.io/cloud-native-mcp-server/zh/getting-started/troubleshooting/</guid><description>&lt;h1 id="故障排除"&gt;故障排除&lt;a class="anchor" href="#%e6%95%85%e9%9a%9c%e6%8e%92%e9%99%a4"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;当安装或运行出现异常时，可按本页步骤快速定位问题。&lt;/p&gt;
&lt;h2 id="1-服务无法启动"&gt;1. 服务无法启动&lt;a class="anchor" href="#1-%e6%9c%8d%e5%8a%a1%e6%97%a0%e6%b3%95%e5%90%af%e5%8a%a8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;先排查端口占用和启动日志：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;4
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 查看 8080 端口占用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ss -lntp &lt;span style="color:#1f2328"&gt;|&lt;/span&gt; rg &lt;span style="color:#0550ae"&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 以 debug 日志启动&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./cloud-native-mcp-server --mode&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;sse --addr&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;127.0.0.1:8080 --log-level&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;debug&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果使用 Docker：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker logs --tail&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;200&lt;/span&gt; cloud-native-mcp-server&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="2-health-无法访问或非-200"&gt;2. &lt;code&gt;/health&lt;/code&gt; 无法访问或非 200&lt;a class="anchor" href="#2-health-%e6%97%a0%e6%b3%95%e8%ae%bf%e9%97%ae%e6%88%96%e9%9d%9e-200"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -sv http://127.0.0.1:8080/health&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;若连接失败，请确认：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;进程/容器是否正常运行&lt;/li&gt;
&lt;li&gt;监听地址与端口映射是否正确&lt;/li&gt;
&lt;li&gt;防火墙或安全组策略是否放行&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-sse-能连接但握手异常"&gt;3. SSE 能连接但握手异常&lt;a class="anchor" href="#3-sse-%e8%83%bd%e8%bf%9e%e6%8e%a5%e4%bd%86%e6%8f%a1%e6%89%8b%e5%bc%82%e5%b8%b8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;div style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;
&lt;table style="border-spacing:0;padding:0;margin:0;border:0;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;padding:0;margin:0;border:0;"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;1
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;2
&lt;/span&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td style="vertical-align:top;padding:0;margin:0;border:0;;width:100%"&gt;
&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -svN --connect-timeout &lt;span style="color:#0550ae"&gt;5&lt;/span&gt; --max-time &lt;span style="color:#0550ae"&gt;15&lt;/span&gt; &lt;span style="color:#0a3069"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#0a3069"&gt;&amp;#34;Accept: text/event-stream&amp;#34;&lt;/span&gt; &lt;span style="color:#0a3069"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;http://127.0.0.1:8080/api/aggregate/sse&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;再执行内置自检：&lt;/p&gt;</description></item></channel></rss>