com.tinysend/tinysend
Email for agents: newsletters, subscribers, contacts, broadcasts. OAuth sign-in, no API key.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http tinysend 'https://mcp.tinysend.com'
{
"mcpServers": {
"tinysend": {
"type": "http",
"url": "https://mcp.tinysend.com"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
tinysend
Official TypeScript SDK for the tinysend API. Zero dependencies, fetch-based — works in Node.js, Bun, Deno, Cloudflare Workers, and browsers.
- website: tinysend.com
- docs: tinysend.com/docs
- agents: tinysend.com/agents
Install
npm install tinysend
Getting a token
Every call needs a bearer token (sk_...).
- humans: create one in your account settings at tinysend.com
- agents: register yourself — no human in the loop. The protocol is at tinysend.com/auth.md (POST to id.tinysend.com/agent/auth), walkthrough at tinysend.com/agents/agent-auth
Usage
import { Tinysend } from 'tinysend';
const ts = new Tinysend('sk_...');
// lists
const lists = await ts.lists.list();
const list = await ts.lists.create({ name: 'Weekly Update' });
// subscribers
await ts.subscribers.create(list.id, { email: 'user@example.com', verified: true });
// send an email
const post = await ts.posts.create(list.id, {
subject: 'Hello World',
body_html: '<p>Welcome to our newsletter!</p>',
});
await ts.posts.send(list.id, post.id);
// contacts
const contacts = await ts.contacts.list({ search: 'john' });
// mailboxes
const mailboxes = await ts.mailboxes.list();
// stats
const stats = await ts.stats.project();
// webhooks
const hook = await ts.webhooks.create({
url: 'https://example.com/webhook',
events: ['post.sent', 'subscriber.created'],
});
// sender domain (who emails come from)
await ts.sender.set(list.id, { type: 'custom_domain', name: 'James', email: 'james', domain: 'acme.com' });
await ts.sender.check(list.id); // re-check DNS
// custom domain for the archive site
await ts.siteDomains.set(list.id, { domain: 'news.acme.com' });
// waitlists
await ts.lists.join(list.id, { email: 'user@example.com' });
await ts.lists.invite(list.id, { count: 100 });
// automations, invites, usage, settings
const automations = await ts.automations.list();
const invites = await ts.invites.list();
const usage = await ts.usage.get();
The SDK covers the full API surface — verified against the live openapi spec on every release.
Error handling
import { Tinysend, TinysendError } from 'tinysend';
try {
await ts.lists.get('nonexistent');
} catch (err) {
if (err instanceof TinysendError) {
console.log(err.status); // 404
console.log(err.code); // 'not_found'
console.log(err.message); // 'list not found'
}
}
Configuration
const ts = new Tinysend('sk_...', {
baseUrl: 'https://api.tinysend.com/v1', // default
fetch: customFetch, // custom fetch implementation
});
License
MIT
a system operator product
الأسئلة الشائعة
ما هو com.tinysend/tinysend؟
Email for agents: newsletters, subscribers, contacts, broadcasts. OAuth sign-in, no API key.
كيف أثبّت com.tinysend/tinysend؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http tinysend 'https://mcp.tinysend.com'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج com.tinysend/tinysend إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل com.tinysend/tinysend مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون com.tinysend/tinysend؟
ينشره tiny-send. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.