<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Npm on 乐的博客</title><link>https://liujiale.me/tags/npm/</link><description>Recent content in Npm on 乐的博客</description><generator>Hugo -- 0.152.2</generator><language>zh-CN</language><copyright>2015-2026 CC BY-NC-ND 4.0</copyright><lastBuildDate>Fri, 21 Mar 2025 11:02:39 +0800</lastBuildDate><atom:link href="https://liujiale.me/tags/npm/index.xml" rel="self" type="application/rss+xml"/><item><title>使用 GitHub Actions 发布第一个 MCP</title><link>https://liujiale.me/til/publishing-your-first-mcp-with-github-actions/</link><pubDate>Fri, 21 Mar 2025 11:00:00 +0800</pubDate><guid>https://liujiale.me/til/publishing-your-first-mcp-with-github-actions/</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;我最近编写了一个 MCP 服务器：&lt;a href="https://github.com/nailuoGG/anki-mcp-server"&gt;nailuoGG/anki-mcp-server&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;但是有一个问题，用户安装时需要在本地进行构建，流程比较复杂，能否更简单一点呢？&lt;/p&gt;
&lt;p&gt;我想到了将其发布到 npm 上，然后使用 `npx anki-mcp-server` 命令来使用。&lt;/p&gt;
&lt;p&gt;进一步想，作为一个开源项目，为什么不使用 GitHub Actions 来进行自动化发布呢？而且至少有以下几个好处：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安全性，防止开发者本地电脑被侵入导致意外发包的情况，而且能保持让打包构建过程公开透明&lt;/li&gt;
&lt;li&gt;便利性，便于多人协作，这样发布时就不依赖单个开发者，也能够保持发布的一致性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="准备"&gt;准备&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;在 Npm 上创建账户，并创建并获取 Access Tokens，记为 NPM_TOKEN。&lt;a href="https://www.npmjs.com/"&gt;https://www.npmjs.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;在 GitHub 上创建工程仓库 &lt;a href="https://github.com/"&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;在 GitHub 仓库设置页面添加 secrets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这里详细记录一下如何添加 secrets：&lt;/p&gt;</description></item></channel></rss>