主MCP服务器
提供与素数相关的功能MCP (Model Context Protocol) 服务器。
机能
这个MCP服务器提供以下工具:
is_prime:确定指定的数值是否为素数next_prime:检索比指定数值大的最小素数previous_prime:获取小于指定数值的最大素数primes_in_range:获取指定范围内的所有素数prime_factorization:执行指定数值的素因数分解
使用例
素数判定
{
"tool": "is_prime",
"arguments": {
"number": 17
}
}返回值:
{"number":17,"isPrime":true}获取以下素数
{
"tool": "next_prime",
"arguments": {
"number": 10
}
}返回值:
{"originalNumber":10,"nextPrime":11}获取上一个素数
{
"tool": "previous_prime",
"arguments": {
"number": 10
}
}返回值:
{"originalNumber":10,"previousPrime":7}获取范围内的素数
{
"tool": "primes_in_range",
"arguments": {
"start": 1,
"end": 20
}
}返回值:
{"range":{"start":1,"end":20},"primes":[2,3,5,7,11,13,17,19],"count":8}素因数分解
{
"tool": "prime_factorization",
"arguments": {
"number": 60
}
}返回值:
{"number":60,"factors":[{"prime":2,"exponent":2},{"prime":3,"exponent":1},{"prime":5,"exponent":1}],"formatted":"2^2 × 3 × 5"}实施详细信息
素数判定算法
根据数值大小使用不同的算法:
- MAX_SAFE_INTEGER (2^53-1) 以下数:试割法
- MAX_SAFE_INTEGER超の数: Miller-Rabin判定法
Miller-Rabin判定法使用基数\[2,3,5,7,11,13,17,19,23,29,31,37\],对于2^64以下的数可以决定性地进行素数判定。
2^64(1446744073709551616)以上的数量是概率性的,虽然很少,但有误判的可能性。
另外,原本LLM也有不能处理那样大的数的可能性。
安装,安装
- 安装依赖关系:
npm install- TypeScript编译:
npm run build- 运行服务器:
npm start开発
开发时用以下命令TypeScript可直接运行文件:
npm run dev