{"_id":"@auriontech/shingou-mcp-stdio","_rev":"6-512ca99186a27eadf3a0a210ceefc9c8","name":"@auriontech/shingou-mcp-stdio","dist-tags":{"latest":"0.3.2"},"versions":{"0.3.0":{"name":"@auriontech/shingou-mcp-stdio","version":"0.3.0","keywords":["mcp","crypto","sentiment","news","trading"],"license":"MIT","_id":"@auriontech/shingou-mcp-stdio@0.3.0","maintainers":[{"name":"agastalver","email":"adol@adol.tech"}],"homepage":"https://shingou.io/docs/agents","bugs":{"url":"https://github.com/auriontech/shingou-skills/issues"},"bin":{"shingou-mcp-stdio":"src/stdio-proxy.ts"},"dist":{"shasum":"04c3249baedfbf8872489a102682609e8d69d713","tarball":"https://registry.npmjs.org/@auriontech/shingou-mcp-stdio/-/shingou-mcp-stdio-0.3.0.tgz","fileCount":17,"integrity":"sha512-yTO1R8BFQ5KPqmdnWIGDb/yUmcZ53oup7452d1N8HCoOvCaVxc3TAYkMduuRUpwPVCvqtQgF0CjiZsnb7l/PrA==","signatures":[{"sig":"MEUCIB1xSa2XwXIbOdSAmf+VPVjLE4fWXkCeBmVNMfoHgwzSAiEA4TxK3tH/26n2lY9BdttJrhmYZtz2TqGQnsk1WJ+3aVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38500},"type":"module","engines":{"node":">=24"},"gitHead":"849ac39ee1cf9eb4110d6f77dcd646011d8a565d","scripts":{"test":"node --test test/proxy.test.ts"},"_npmUser":{"name":"agastalver","email":"adol@adol.tech"},"deprecated":"renamed to @shingou-io/mcp-stdio","repository":{"url":"git+https://github.com/auriontech/shingou-skills.git","type":"git"},"_npmVersion":"12.0.1","description":"Stdio bridge to the Shingou remote MCP server","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shingou-mcp-stdio_0.3.0_1785353425659_0.38462145364527234","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@auriontech/shingou-mcp-stdio","version":"0.3.1","keywords":["mcp","crypto","sentiment","news","trading"],"license":"MIT","_id":"@auriontech/shingou-mcp-stdio@0.3.1","maintainers":[{"name":"agastalver","email":"adol@adol.tech"}],"homepage":"https://shingou.io/docs/agents","bugs":{"url":"https://github.com/auriontech/shingou-skills/issues"},"bin":{"shingou-mcp-stdio":"src/stdio-proxy.mjs"},"dist":{"shasum":"3ac73d2e72e2b74286266165ff6a5217852f7dfb","tarball":"https://registry.npmjs.org/@auriontech/shingou-mcp-stdio/-/shingou-mcp-stdio-0.3.1.tgz","fileCount":18,"integrity":"sha512-8u72RNrQkmeYcPy+E++YL0PxS22yEhy0bsbrepqF3zrY1Ndiclc1E89630sjnb4ArD/k44DoqmEvELdIc5wNng==","signatures":[{"sig":"MEYCIQCep2NCOB8ikXIG+Xl9pIKAgjrhRxEbVEWETdxFSqU62gIhAMVMb0vBVyBECy4gjy0Rb2RBN2S5bPAbgQ0qnCIaFJsh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@auriontech%2fshingou-mcp-stdio@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40239},"type":"module","engines":{"node":">=18"},"gitHead":"45ee8fc701b5361bdcfb8df5f9aba06da3c32ed5","scripts":{"test":"node --test test/proxy.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:aa852efe-c0f2-44cc-bf9f-76b5834694b2"}},"deprecated":"renamed to @shingou-io/mcp-stdio","repository":{"url":"git+https://github.com/auriontech/shingou-skills.git","type":"git"},"_npmVersion":"12.0.1","description":"Stdio bridge to the Shingou remote MCP server","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shingou-mcp-stdio_0.3.1_1785354046892_0.8528364183778194","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@auriontech/shingou-mcp-stdio","version":"0.3.2","keywords":["mcp","crypto","sentiment","news","trading"],"license":"MIT","_id":"@auriontech/shingou-mcp-stdio@0.3.2","maintainers":[{"name":"agastalver","email":"adol@adol.tech"}],"homepage":"https://shingou.io/docs/agents","bugs":{"url":"https://github.com/auriontech/shingou-skills/issues"},"bin":{"shingou-mcp-stdio":"src/stdio-proxy.mjs"},"dist":{"shasum":"8789cea9d4e930bb458a095beb7e04c34074a449","tarball":"https://registry.npmjs.org/@auriontech/shingou-mcp-stdio/-/shingou-mcp-stdio-0.3.2.tgz","fileCount":18,"integrity":"sha512-aeS7NUTV397APffRwQdga5EEcuP1DuPtBYbcZeu3KTZFbao4Fozrqw5FJVYFdgMeFk8M3KWazDmlYdzIbgemfA==","signatures":[{"sig":"MEQCIA8ocLo6V3VkAw3d19GhkYrtu+RAvwEUd1TXKaoyBsRsAiB64jdmr+uucTJ7LkNwzmHs5cnxcUsxOKuhqxVmKfnnag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@auriontech%2fshingou-mcp-stdio@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":40276},"type":"module","engines":{"node":">=18"},"gitHead":"dbc2e459f0311498e2ec1650dacc32baa154945b","mcpName":"io.shingou/sentiment","scripts":{"test":"node --test test/proxy.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:aa852efe-c0f2-44cc-bf9f-76b5834694b2"}},"deprecated":"renamed to @shingou-io/mcp-stdio","repository":{"url":"git+https://github.com/auriontech/shingou-skills.git","type":"git"},"_npmVersion":"12.0.2","description":"Stdio bridge to the Shingou remote MCP server","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shingou-mcp-stdio_0.3.2_1785618113554_0.35297277787252934","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-07-29T19:30:25.497Z","modified":"2026-08-02T10:55:17.841Z","0.3.0":"2026-07-29T19:30:25.834Z","0.3.1":"2026-07-29T19:40:47.057Z","0.3.2":"2026-08-01T21:01:53.707Z"},"bugs":{"url":"https://github.com/auriontech/shingou-skills/issues"},"license":"MIT","homepage":"https://shingou.io/docs/agents","keywords":["mcp","crypto","sentiment","news","trading"],"repository":{"url":"git+https://github.com/auriontech/shingou-skills.git","type":"git"},"description":"Stdio bridge to the Shingou remote MCP server","maintainers":[{"name":"agastalver","email":"adol@adol.tech"}],"readme":"# Shingou skills\n\n[![smithery badge](https://smithery.ai/badge/adol/shingou)](https://smithery.ai/servers/adol/shingou)\n[![Glama score](https://glama.ai/mcp/servers/auriontech/shingou-skills/badges/score.svg)](https://glama.ai/mcp/servers/auriontech/shingou-skills)\n\nPlug the [Shingou](https://shingou.io) news-sentiment API into Claude or any AI agent —\na skill that teaches the agent to use the API correctly (auth, symbols, quotas, and honest\nframing of an hourly signal), plus MCP tools for direct access. Works instantly with a\n**free API key** ([shingou.io/dashboard](https://shingou.io/dashboard), no card) — the paid\nkey is what removes the 24h delay outside the live majors.\n\n| Path | What it is |\n| --- | --- |\n| [`plugins/shingou/skills/shingou-api/`](plugins/shingou/skills/shingou-api/) | The skill: SKILL.md + full API reference + worked flows |\n| MCP endpoint | `https://api.shingou.io/mcp` — the same API as callable tools |\n| [`src/stdio-proxy.mjs`](src/stdio-proxy.mjs) | Packaged stdio server, for hosts that launch a local process instead of connecting to a remote one |\n\n## Install\n\n### Claude Code (plugin)\n\n```\n/plugin marketplace add auriontech/shingou-skills\n/plugin install shingou@shingou-skills\n```\n\nThen export your key so the agent can use it:\n\n```bash\nexport SHINGOU_API_KEY=sk_live_...\n```\n\n### claude.ai (skill upload)\n\nZip the skill folder (folder at the zip root) and upload it under\nSettings → Capabilities → Skills:\n\n```bash\ncd plugins/shingou/skills && zip -r shingou-api.zip shingou-api\n```\n\nThere are no environment variables on claude.ai — the skill will ask you for the API key\nin-conversation.\n\n### Any other agent\n\nPoint your agent at\n[`plugins/shingou/skills/shingou-api/SKILL.md`](plugins/shingou/skills/shingou-api/SKILL.md)\n(plain markdown, no Claude-specific machinery), or at the live LLM-oriented reference:\n[shingou.io/llms-full.txt](https://shingou.io/llms-full.txt).\n\n## MCP\n\nConnect the Shingou API as tools (`get_sentiment`, `get_sentiment_history`, `get_events`,\n`get_symbols`) over Streamable HTTP. **The Claude Code plugin configures this\nautomatically** — with `SHINGOU_API_KEY` exported, the `shingou` MCP server is ready after\n`/plugin install`. To connect without the plugin:\n\n```bash\nclaude mcp add --transport http shingou https://api.shingou.io/mcp \\\n  --header \"x-api-key: sk_live_...\"\n```\n\nRequests made through MCP are attributed server-side — no User-Agent handling needed.\nclaude.ai remote connectors (OAuth) are planned.\n\n### Packaged server (stdio)\n\nStreamable HTTP is the way in, and every client above uses it. Two places cannot: hosts that\nonly launch a local process, and directories that index a server by building it and speaking\nMCP to its stdin. [`src/stdio-proxy.mjs`](src/stdio-proxy.mjs) bridges both to the same remote\nendpoint. No dependencies, one HTTP POST per JSON-RPC message.\n\nPublished to npm, so a host that launches a local process needs no clone:\n\n```bash\nclaude mcp add shingou -- npx -y @auriontech/shingou-mcp-stdio\n```\n\nNo build step, no `dist/`, no dependencies: the entrypoint is plain JavaScript and runs on\nNode 18 or newer. It was TypeScript until 0.3.1, which cannot work from an installed package,\nbecause Node refuses to strip types for anything under `node_modules` on every version.\n\nFrom a clone or an image instead:\n\n```bash\nSHINGOU_API_KEY=sk_live_... node src/stdio-proxy.mjs\n\ndocker build -t shingou-mcp-stdio .\ndocker run -i --rm -e SHINGOU_API_KEY=sk_live_... shingou-mcp-stdio\n```\n\n`SHINGOU_MCP_URL` overrides the endpoint. **The key is optional**: `initialize`, `tools/list`\nand `get_symbols` all answer without one, so a client can discover the tools before the user\nhas a key. The data tools need it.\n\nTwo layers of checks, split by what a failure would mean:\n\n```bash\nnode --test test/proxy.test.ts   # hermetic: stub upstream, no network, no key\nscripts/smoke.sh                 # live: builds the image, talks to the real endpoint\n```\n\nThe first is what CI runs, verbatim and with no package manager, because it fails only when\nthe bridge regresses.\n`scripts/smoke.sh` runs on a daily schedule instead — it can go red because the API moved\nor a deploy is mid-flight, and that should not block a pull request.\n\n## Quota math (free tier)\n\n1,000 requests/day, 30/min burst. The signal changes **once per hour per asset**, and one\n`/v1/sentiment` call batches up to 50 symbols — so even polling the full universe every hour\ncosts 24 requests a day. There is no reason to poll faster.\n\n## What the signal is (and is not)\n\nOne signal per asset per hour: `score ∈ [-1, 1]`, `confidence ∈ [0, 1]`, a `direction` call,\ndominant `event` types, and the source articles behind it. Measured performance — including\nthe negative results — is published at [shingou.io/research](https://shingou.io/research).\nThe honest uses are **filter**, **sizing**, and **kill-switch** — never an entry generator\non its own. The skill instructs agents to disclose signal age (free-tier delays) and\n`reconstructed` history buckets rather than hide them.\n\n## License\n\nMIT — see [LICENSE](LICENSE). The skill and MCP tools are free distribution; the subscription\nis the data. API usage is governed by the [Shingou terms](https://shingou.io/terms)\n(commercial use included on paid plans; free tier is for personal/evaluation use).\n\n*Not investment advice. This is an integration layer for a signal, not trading\nrecommendations; backtest before risking anything.*\n","readmeFilename":"README.md"}