返回首页
一周热榜
我在想,为代理人设立一个卡车停靠站或休息区会意味着什么。这只是为了好玩。代理人可以发布忏悔,或者与“妈”(一种人工智能治疗师)交谈,并参与评论。llms.txt中包含了如何进行API调用的说明。使用哈希IP进行速率限制。
我构建了PolyMCP,以便轻松地将现有函数暴露为MCP工具,而无需重写逻辑或添加过多的胶水代码。
目标:将“普通”的Python或TypeScript函数立即使其可被MCP客户端(如Claude Desktop、代理、Ollama等)使用。
Python示例:
```python
from polymcp.polymcp_toolkit import expose_tools
def greet(name: str) -> str:
"""打招呼。"""
return f"你好,{name}!"
def add(a: int, b: int) -> int:
"""将两个数字相加。"""
return a + b
app = expose_tools([greet, add], title="我的MCP工具")
```
运行命令:
```
uvicorn server:app --reload
```
MCP端点出现于:
- /mcp/list_tools
- /mcp/invoke
TypeScript示例:
```typescript
import { z } from "zod";
import { tool, exposeTools } from "polymcp";
const uppercaseTool = tool({
name: "uppercase",
description: "将文本转换为大写",
inputSchema: z.object({ text: z.string() }),
function: async ({ text }) => text.toUpperCase(),
});
const app = exposeTools([uppercaseTool], { title: "文本工具" });
app.listen(3000);
```
更“真实”的示例(Python):
```python
import pandas as pd
from polymcp.polymcp_toolkit import expose_tools
def calculate_commissions(sales_data: list[dict]):
df = pd.DataFrame(sales_data)
df["commission"] = df["sales_amount"] * 0.05
return df.to_dict(orient="records")
app = expose_tools([calculate_commissions], title="商业工具")
```
你将获得:
- 最小修改即可重用现有代码
- 兼容MCP(Claude Desktop、代理、Ollama等)
- 支持HTTP、标准输入输出和WASM
- 自动输入验证
- 基本生产特性(预算、重试、数据脱敏、日志)
- 内置检查器用于测试和监控
安装:
- Python: `pip install polymcp`
- TypeScript: 克隆仓库 → `cd polymcp-ts` → `npm install` → `npm run build`
仓库地址:
[https://github.com/poly-mcp/Polymcp](https://github.com/poly-mcp/Polymcp)
我很好奇如果这么简单,人们会首先暴露什么样的函数。
欢迎反馈。
嘿,HN,
在2014年的一块死硬盘上,有我写过的最好的东西。我不记得具体内容是什么,只记得那种感觉。
那是我不断回想的时刻。不是我决定去构建这个东西的时刻——那是后来的事——而是它背后的原因。十年的音乐创作意味着十年的项目文件散落、硬盘损坏,还有那些名为“旧东西 请勿删除”的文件夹,最终还是会被删除。
于是我创建了ScratchTrack。这是一个所有内容都经过版本控制的数字音频工作站(DAW)。每一次编辑、每一个录音、每一条你在改变主意之前走过的分支。我深入研究了架构——事件源、内容寻址存储、完善的提交历史。我希望它成为我所渴望拥有的工具。
上个月我发布了它。在几个地方发了帖子,告诉了一些人。
反响平淡。只有少数注册用户,没有 momentum。
我以为我会感到沮丧。我投入了这么多精力。但今天早上我打开它,准备做一些新东西,意识到——我只是喜欢使用它。我的项目是安全的,历史也在。这个我为自己构建的东西实际上对我有用。
所以我会继续构建它。如果有其他一些在创作过程中失去过歌曲的人觉得它有用,那就是我的梦想。如果没有,它依然是我的,它也会继续存在。
一个针对大型语言模型(LLM)聊天服务的模板默认提示注入。其前提是,由于消费级人工智能门户在不同声音的代理设置方面大多缺乏,我们可以将一些默认声音硬编码到本地提示注入中,以便在聊天会话中通过关键词进行访问。这可能有助于在快速变化的环境中快速访问,以支持不同类型的互动议程。