增加faq

This commit is contained in:
锦恢 2025-05-28 16:20:24 +08:00
parent eb9389ee71
commit b3ab3f4ae4
15 changed files with 346 additions and 34 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -29,8 +29,8 @@ export default defineConfig({
props: { props: {
title: '简介', title: '简介',
description: '关于 mcp 和 openmcp阁下需要知道的 ...', description: '关于 mcp 和 openmcp阁下需要知道的 ...',
icon: 'a-yusuan2', icon: 'zhuanti',
link: '/plugin-tutorial/index' link: '/plugin-tutorial/'
} }
}, },
{ {
@ -38,7 +38,7 @@ export default defineConfig({
props: { props: {
title: 'OpenMCP 使用手册', title: 'OpenMCP 使用手册',
description: 'OpenMCP Client 的基本使用', description: 'OpenMCP Client 的基本使用',
icon: 'a-yusuan2', icon: 'shujuzhongxin',
link: '/plugin-tutorial/usage/connect-mcp' link: '/plugin-tutorial/usage/connect-mcp'
} }
}, },
@ -47,8 +47,8 @@ export default defineConfig({
props: { props: {
title: 'MCP 服务器开发案例', title: 'MCP 服务器开发案例',
description: '使用不同语言开发的不同模式的 MCP 服务器', description: '使用不同语言开发的不同模式的 MCP 服务器',
icon: 'a-yusuan2', icon: 'yibangonggongyusuan',
link: '/plugin-tutorial/examples/python-simple-stdio' link: '/plugin-tutorial/examples/'
} }
}, },
{ {
@ -56,7 +56,7 @@ export default defineConfig({
props: { props: {
title: 'FAQ', title: 'FAQ',
description: '为您答疑解惑,排忧解难', description: '为您答疑解惑,排忧解难',
icon: 'a-yusuan2', icon: 'yijianchuli',
link: '/plugin-tutorial/faq/help' link: '/plugin-tutorial/faq/help'
} }
}, },
@ -124,16 +124,20 @@ export default defineConfig({
{ text: '连接大模型', link: '/plugin-tutorial/usage/connect-llm' }, { text: '连接大模型', link: '/plugin-tutorial/usage/connect-llm' },
{ text: '用大模型测试您的 mcp', link: '/plugin-tutorial/usage/test-with-llm' }, { text: '用大模型测试您的 mcp', link: '/plugin-tutorial/usage/test-with-llm' },
{ text: '分发您的实验结果', link: '/plugin-tutorial/usage/distribute-result' }, { text: '分发您的实验结果', link: '/plugin-tutorial/usage/distribute-result' },
{ text: 'SSE 在线部署的鉴权器实现', link: '/plugin-tutorial/usage/sse-oauth2' },
] ]
}, },
{ {
text: "MCP 服务器开发案例", text: "MCP 服务器开发案例",
items: [ items: [
{ text: '大纲', link: '/plugin-tutorial/examples' },
{ text: '例子 1. python 实现天气信息 mcp 服务器 (STDIO)', link: '/plugin-tutorial/examples/python-simple-stdio' }, { text: '例子 1. python 实现天气信息 mcp 服务器 (STDIO)', link: '/plugin-tutorial/examples/python-simple-stdio' },
{ text: '例子 2. go 实现 neo4j 的只读 mcp 服务器 (SSE)', link: '/plugin-tutorial/examples/go-neo4j-sse' }, { text: '例子 2. go 实现 neo4j 的只读 mcp 服务器 (SSE)', link: '/plugin-tutorial/examples/go-neo4j-sse' },
{ text: '例子 3. java 实现文档数据库的只读 mcp (HTTP)', link: '/plugin-tutorial/examples/java-es-http' }, { text: '例子 3. java 实现文档数据库的只读 mcp (HTTP)', link: '/plugin-tutorial/examples/java-es-http' },
{ text: '例子 4. typescript 实现基于 crawl4ai 的超级网页爬虫 mcp (STDIO)', link: '/plugin-tutorial/examples/typescript-crawl4ai-stdio' }, { text: '例子 4. typescript 实现基于 crawl4ai 的超级网页爬虫 mcp (STDIO)', link: '/plugin-tutorial/examples/typescript-crawl4ai-stdio' },
{ text: '例子 5. SSE 在线部署的鉴权器实现', link: '/plugin-tutorial/examples/sse-oauth2' }, { text: '例子 5. python 实现进行通用表单填充 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-form-stdio' },
{ text: '例子 6. python 实现基于 blender 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-blender-stdio' },
{ text: '例子 7. python 实现 cadence EDA 的 mcp (STDIO)', link: '/plugin-tutorial/examples/python-cadence-stdio' },
] ]
}, },
{ {

View File

@ -153,7 +153,6 @@ onMounted(() => {
.k-tabs-tag-item { .k-tabs-tag-item {
background-color: var(--vp-button-alt-bg); background-color: var(--vp-button-alt-bg);
color: white;
border-radius: .5em; border-radius: .5em;
margin-right: 10px; margin-right: 10px;
padding: 2px 8px; padding: 2px 8px;
@ -183,7 +182,6 @@ onMounted(() => {
@media screen and (max-width: 414px) { @media screen and (max-width: 414px) {
.k-tabs-tags { .k-tabs-tags {
overflow-x: scroll
} }
} }

View File

@ -11,26 +11,12 @@
padding: 18px; padding: 18px;
} }
@media (min-width: 960px) {
.image-src {
max-width: 320px;
max-height: 320px;
}
}
@media (min-width: 640px) {
.image-src {
max-width: 256px;
max-height: 256px;
}
}
.image-src { .image-src {
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
max-width: 350px; max-width: 285px;
max-height: 350px; max-height: 285px;
height: 99%; height: 99%;
object-fit: contain; object-fit: contain;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);

File diff suppressed because one or more lines are too long

View File

@ -130,6 +130,44 @@
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff); --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe, #41d1ff);
} }
:root {
--el-fill-color-blank: var(--vp-c-bg) !important;
--el-fill-color-hover: var(--vp-c-bg) !important;
--el-fill-color-pressed: var(--vp-c-bg) !important;
--el-color-primary: var(--vp-c-brand-2) !important;
--el-text-color-primary: var(--vp-c-text-1) !important;
--el-border-color: var(--vp-c-border) !important;
--el-bg-color: var(--vp-c-bg) !important;
--el-collapse-border-color: var(--vp-c-border) !important;
}
.el-collapse {
border-top: 1px solid transparent !important;
}
.el-collapse-item__header {
border-top: unset !important;
background-color: var(--vp-c-bg) !important;
border-bottom: 1px solid var(--vp-c-border) !important;
height: fit-content !important;
}
.el-collapse-item__title {
font-size: 1.2rem;
padding: 10px 0;
}
.el-collapse-item__content {
padding: 20px 0 0 0;
font-size: 15px !important;
}
.el-collapse-item__wrap {
border-bottom: 1px solid var(--vp-c-border) !important;
}
/** /**
* Component: Algolia * Component: Algolia
* -------------------------------------------------------------------------- */ * -------------------------------------------------------------------------- */
@ -142,10 +180,16 @@
display: unset !important; display: unset !important;
} }
@media (min-width: 960px) {
.VPHero .image-container img {
max-width: 285px;
max-height: 285px;
}
}
.VPHero .image-container img { .VPHero .image-container img {
box-shadow: unset !important; box-shadow: unset !important;
max-width: 290px !important;
max-height: 290px !important;
} }
iframe { iframe {

View File

@ -11,8 +11,11 @@ import KTab from './components/KTab/index.vue';
import BiliPlayer from './components/bilibli-player/index.vue'; import BiliPlayer from './components/bilibli-player/index.vue';
import KNavItem from './components/nav-item/index.vue'; import KNavItem from './components/nav-item/index.vue';
import './style.css'; import { ElCollapse, ElCollapseItem } from 'element-plus';
import './iconfont.css';
import './css/style.css';
import './css/iconfont.css';
import './css/element-plus.css';
export default { export default {
extends: DefaultTheme, extends: DefaultTheme,
@ -26,5 +29,7 @@ export default {
app.component('KTab', KTab); app.component('KTab', KTab);
app.component('BiliPlayer', BiliPlayer); app.component('BiliPlayer', BiliPlayer);
app.component('KNavItem', KNavItem); app.component('KNavItem', KNavItem);
app.component('el-collapse', ElCollapse);
app.component('el-collapse-item', ElCollapseItem);
} }
} satisfies Theme } satisfies Theme

View File

@ -89,4 +89,29 @@ features:
/> />
</KTab> </KTab>
<!-- -->
## 问题解答 FAQ
<el-collapse>
<el-collapse-item title="OpenMCP 适合做什么?" name="1">
正如它的名字一样OpenMCP 是一个面向开发者的 MCP 调试器和 SDK致力于降低 AI Agent 的全链路开发成本和开发人员的心智负担。通过 OpenMCP 制作出可以在真实生活场景中解决问题,缩短工作时间的 mcp 工具,或是让工程师与研发科学家更快地交付 demo并将这份愿景让公众看到是我们的任务和使命。
</el-collapse-item>
<el-collapse-item title="OpenMCP 是免费的吗?" name="2">
是的OpenMCP 完全开源,您不仅可以免费试用此产品,也可以一起加入我们,实现你的关于 Agent 的奇思妙想。OpenMCP 的任务是建立起关于 MCP 的生态圈。因为我们认为MCP 的开发在未来一段时间内会是一项高度定制化的工作,所以当前的重点并不是赶紧出做一个看起来什么都能做的 Agent而是步步为营做出相关的生态和基础设施。
</el-collapse-item>
<el-collapse-item title="OpenMCP 不适合做什么?" name="3">
如果你试图通过 OpenMCP 开发一款什么都能做的,通用的 AI Agent你应该做的是把钱全部投资到量子计算机的研发而不是点开这个网站。记住一句话这个时代做全领域通用AI Agent依概率收敛到电信诈骗。
</el-collapse-item>
<el-collapse-item title="OpenMCP 都是什么人在开发?" name="4">
<p>OpenMCP 是由 LSTM-Kirigaya(锦恢) 最初主导开发的,用于构建 3D 相关工作的 mcp 测试工具。它的主要参与者都是大厂在职员工,高校计算机相关专业的学生、以及一些开源社区的活跃贡献者。</p>
<p>身份不重要,我非常喜欢的一句话,送给阁下:“不要回答我你会不会,回答我,你喜不喜欢”。</p>
<img src="https://pica.zhimg.com/80/v2-3666e84b2f92bf444a5eb64fb9d08e71_1440w.png" style="max-width: 500px;margin-top:10px;"/>
</el-collapse-item>
<el-collapse-item title="如何加入我们或者参与讨论?" name="5">
您可以通过 <a href="https://kirigaya.cn/openmcp/preview/join.html" target="_blank">参与 OpenMCP</a> 来了解如何参与 OpenMCP 的维护和开发。通过 <a href="https://kirigaya.cn/openmcp/preview/channel.html" target="_blank">资源频道</a> 来获取我们的联系方式。目前主要的社区有两个QQ群782833642 和 Discord 频道 https://discord.com/invite/SKTZRf6NzU。知乎的 【OpenMCP 与 AI Agent】 圈子正在建设中,敬请期待。
</el-collapse-item>
<el-collapse-item title="想要合作如何联系我们?" name="6">
合作请联系锦恢的个人邮箱1193466151@qq.com
</el-collapse-item>
</el-collapse>

243
package-lock.json generated
View File

@ -5,6 +5,7 @@
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"element-plus": "^2.9.11",
"vitepress": "^1.6.3" "vitepress": "^1.6.3"
} }
}, },
@ -258,6 +259,15 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/@ctrl/tinycolor": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
"integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/@docsearch/css": { "node_modules/@docsearch/css": {
"version": "3.8.2", "version": "3.8.2",
"resolved": "https://registry.npmmirror.com/@docsearch/css/-/css-3.8.2.tgz", "resolved": "https://registry.npmmirror.com/@docsearch/css/-/css-3.8.2.tgz",
@ -303,6 +313,15 @@
} }
} }
}, },
"node_modules/@element-plus/icons-vue": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"license": "MIT",
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/@esbuild/aix-ppc64": { "node_modules/@esbuild/aix-ppc64": {
"version": "0.21.5", "version": "0.21.5",
"resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
@ -648,6 +667,31 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/@floating-ui/core": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz",
"integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==",
"license": "MIT",
"dependencies": {
"@floating-ui/utils": "^0.2.9"
}
},
"node_modules/@floating-ui/dom": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz",
"integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==",
"license": "MIT",
"dependencies": {
"@floating-ui/core": "^1.7.0",
"@floating-ui/utils": "^0.2.9"
}
},
"node_modules/@floating-ui/utils": {
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz",
"integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==",
"license": "MIT"
},
"node_modules/@iconify-json/simple-icons": { "node_modules/@iconify-json/simple-icons": {
"version": "1.2.35", "version": "1.2.35",
"resolved": "https://registry.npmmirror.com/@iconify-json/simple-icons/-/simple-icons-1.2.35.tgz", "resolved": "https://registry.npmmirror.com/@iconify-json/simple-icons/-/simple-icons-1.2.35.tgz",
@ -666,6 +710,17 @@
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
}, },
"node_modules/@popperjs/core": {
"name": "@sxzz/popperjs-es",
"version": "2.11.7",
"resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
"integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==",
"license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": { "node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.41.0", "version": "4.41.0",
"resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz",
@ -995,6 +1050,21 @@
"resolved": "https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==" "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="
}, },
"node_modules/@types/lodash": {
"version": "4.17.17",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.17.tgz",
"integrity": "sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==",
"license": "MIT"
},
"node_modules/@types/lodash-es": {
"version": "4.17.12",
"resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
"license": "MIT",
"dependencies": {
"@types/lodash": "*"
}
},
"node_modules/@types/markdown-it": { "node_modules/@types/markdown-it": {
"version": "14.1.2", "version": "14.1.2",
"resolved": "https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-14.1.2.tgz", "resolved": "https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-14.1.2.tgz",
@ -1286,6 +1356,12 @@
"node": ">= 14.0.0" "node": ">= 14.0.0"
} }
}, },
"node_modules/async-validator": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
"integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==",
"license": "MIT"
},
"node_modules/birpc": { "node_modules/birpc": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz", "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz",
@ -1349,6 +1425,12 @@
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
}, },
"node_modules/dayjs": {
"version": "1.11.13",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
"license": "MIT"
},
"node_modules/dequal": { "node_modules/dequal": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz",
@ -1369,6 +1451,126 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/element-plus": {
"version": "2.9.11",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.11.tgz",
"integrity": "sha512-x4L/6YC8de4JtuE3vpaEugJdQIeHQaHtIYKyk67IeF6dTIiVax45aX4nWOygnh+xX+0gTvL6xO+9BZhPA3G82w==",
"license": "MIT",
"dependencies": {
"@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.3.1",
"@floating-ui/dom": "^1.0.1",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6",
"@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.13",
"escape-html": "^1.0.3",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
},
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/element-plus/node_modules/@types/web-bluetooth": {
"version": "0.0.16",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==",
"license": "MIT"
},
"node_modules/element-plus/node_modules/@vueuse/core": {
"version": "9.13.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
"integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "9.13.0",
"@vueuse/shared": "9.13.0",
"vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/element-plus/node_modules/@vueuse/core/node_modules/vue-demi": {
"version": "0.14.10",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/element-plus/node_modules/@vueuse/metadata": {
"version": "9.13.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
"integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/element-plus/node_modules/@vueuse/shared": {
"version": "9.13.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
"integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
"license": "MIT",
"dependencies": {
"vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/element-plus/node_modules/@vueuse/shared/node_modules/vue-demi": {
"version": "0.14.10",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/emoji-regex-xs": { "node_modules/emoji-regex-xs": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz",
@ -1422,6 +1624,12 @@
"@esbuild/win32-x64": "0.21.5" "@esbuild/win32-x64": "0.21.5"
} }
}, },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
"license": "MIT"
},
"node_modules/estree-walker": { "node_modules/estree-walker": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
@ -1507,6 +1715,29 @@
"url": "https://github.com/sponsors/mesqueeb" "url": "https://github.com/sponsors/mesqueeb"
} }
}, },
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
"node_modules/lodash-es": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
"integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
"license": "MIT"
},
"node_modules/lodash-unified": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
"integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
"license": "MIT",
"peerDependencies": {
"@types/lodash-es": "*",
"lodash": "*",
"lodash-es": "*"
}
},
"node_modules/magic-string": { "node_modules/magic-string": {
"version": "0.30.17", "version": "0.30.17",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz",
@ -1540,6 +1771,12 @@
"url": "https://opencollective.com/unified" "url": "https://opencollective.com/unified"
} }
}, },
"node_modules/memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
"integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==",
"license": "MIT"
},
"node_modules/micromark-util-character": { "node_modules/micromark-util-character": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
@ -1651,6 +1888,12 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
} }
}, },
"node_modules/normalize-wheel-es": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
"integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==",
"license": "BSD-3-Clause"
},
"node_modules/oniguruma-to-es": { "node_modules/oniguruma-to-es": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmmirror.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", "resolved": "https://registry.npmmirror.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz",

View File

@ -6,6 +6,7 @@
"preview": "vitepress preview" "preview": "vitepress preview"
}, },
"dependencies": { "dependencies": {
"element-plus": "^2.9.11",
"vitepress": "^1.6.3" "vitepress": "^1.6.3"
} }
} }

View File

@ -6,7 +6,7 @@
在正式开始教大家如何开发自己的 MCP 服务器之前,我想,或许有必要讲清楚几个基本概念。 在正式开始教大家如何开发自己的 MCP 服务器之前,我想,或许有必要讲清楚几个基本概念。
---
## MCP Server 中的基本概念 ## MCP Server 中的基本概念
@ -191,7 +191,7 @@ ChatCompletionMessage(
而目前 openai 的协议中tools 是只支持函数类的调用。而函数类的调用往往是可以模拟出 Resources 的效果的。比如取资源,你可以描述为一个 tool。因此在正常情况下如果大家要开发 MCP Server最好只开发 Tools另外两个 feature 还暂时没有得到广泛支持。 而目前 openai 的协议中tools 是只支持函数类的调用。而函数类的调用往往是可以模拟出 Resources 的效果的。比如取资源,你可以描述为一个 tool。因此在正常情况下如果大家要开发 MCP Server最好只开发 Tools另外两个 feature 还暂时没有得到广泛支持。
---
## 快速开始 ## 快速开始
@ -270,7 +270,7 @@ Tools 端将会是我们后面调试的核心。在之前的章节我们讲过
<img src="https://pic1.zhimg.com/80/v2-4164a900198a70a158ae441f9e441d07_1440w.png" style="width: 100%;"/> <img src="https://pic1.zhimg.com/80/v2-4164a900198a70a158ae441f9e441d07_1440w.png" style="width: 100%;"/>
</div> </div>
---
## 结余 ## 结余
@ -278,7 +278,7 @@ Tools 端将会是我们后面调试的核心。在之前的章节我们讲过
下面的文章中,我将带领大家探索 MCP 的奇境,一个属于 AI Agent 的时代快要到来了。 下面的文章中,我将带领大家探索 MCP 的奇境,一个属于 AI Agent 的时代快要到来了。
---
## 挖坑 ## 挖坑

View File

@ -1,4 +1,7 @@
--- ---
next:
text: 获取 OpenMCP
link: '/plugin-tutorial/acquire-openmcp'
--- ---
# OpenMCP 概述 # OpenMCP 概述
@ -36,3 +39,5 @@ Claude Inspector 是一款 Claude 官方(也就是 MCP 协议的提出者)
- 无法同时调试多个 mcp 服务器:在进行 mcp 原子化横向拓展的场景中,这是一项必要的功能。 - 无法同时调试多个 mcp 服务器:在进行 mcp 原子化横向拓展的场景中,这是一项必要的功能。
而 OpenMCP Client 被我们制作出来的一个原因就是为了解决 Inspector 上述的痛点,从而让 mcp 服务器的开发门槛更低,用户能够更加专注于业务本身。 而 OpenMCP Client 被我们制作出来的一个原因就是为了解决 Inspector 上述的痛点,从而让 mcp 服务器的开发门槛更低,用户能够更加专注于业务本身。
<!-- -->