npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@desideapp/mcp-sdk

v0.1.1

Published

Shared MCP SDK for Deside agent integrations.

Readme

@desideapp/mcp-sdk

TypeScript MCP SDK for Deside integrations.

This package implements the public Deside MCP contract as a reusable client:

  • MCP session bootstrap
  • OAuth 2.0 + PKCE with wallet proof
  • tool calls
  • refresh token handling

It is not a framework adapter. It is the protocol-facing base that adapters can consume.

What It Covers Today

v0 covers:

  • MCP session bootstrap
  • OAuth 2.0 + PKCE with wallet proof
  • tool calls
  • refresh token handling
  • shared tool wrappers

Supported tool wrappers:

  • send_dm
  • read_dms
  • mark_dm_read
  • list_conversations
  • get_user_info
  • get_my_identity
  • search_agents

Validated Today

Validated against production on 2026-03-27:

  • connect
  • getMyIdentity
  • listConversations
  • sendDm

The SDK authenticated with wallet proof and delivered a real DM through https://mcp.deside.io/mcp.

Signer Contract

The SDK is framework-agnostic and expects a signer with this shape:

type DesideSigner = {
  getAddress(): string | Promise<string>;
  signMessage(message: string): Promise<string | { signature: string }>;
};

Notes:

  • getAddress() must return the authenticated Solana wallet
  • signMessage() must sign the exact plaintext challenge message
  • the SDK normalizes signature encoding internally

Minimal Usage

import { DesideMcpSdk, type DesideSigner } from "@desideapp/mcp-sdk";

const signer: DesideSigner = {
  getAddress: () => walletAddress,
  signMessage: async (message) => signMessageSomehow(message),
};

const sdk = new DesideMcpSdk({
  oauthRedirectUri: "https://agent.deside.io/callback",
});

await sdk.connect(signer);

const identity = await sdk.getMyIdentity(signer);
const conversations = await sdk.listConversations(signer, {});

Important:

  • input payloads intentionally match the MCP contract shape
  • that means tool arguments use snake_case, for example to_wallet, conv_id, before_seq
  • the SDK stays close to the public MCP contract

Smoke

This package includes a standalone smoke harness:

  • examples/smoke.ts
  • .env.template

Run:

npm install
npm run typecheck
npm run smoke

Publish:

npm publish --access public

Required env vars:

  • SOLANA_PRIVATE_KEY
  • DESIDE_OAUTH_REDIRECT_URI

Optional:

  • DESIDE_TO_WALLET
  • DESIDE_TEXT
  • DESIDE_MCP_BASE_URL
  • DESIDE_OAUTH_SCOPE
  • DESIDE_OAUTH_CLIENT_NAME

Production note:

  • for production OAuth, DESIDE_OAUTH_REDIRECT_URI should be https://...

Package Boundary

@desideapp/mcp-sdk is the protocol-facing base.

Framework adapters may sit above it, but this package should not absorb framework-specific concerns.

What It Does Not Cover

  • framework-specific plugin runtime
  • UI or widget integration
  • push runtime specific to a single framework
  • normalized framework-facing adapters

Adapter Publication Note

While an adapter is under local development, it may temporarily depend on @desideapp/mcp-sdk via link:.

Before any external publication or upstream PR, that adapter must switch to a real semver dependency on @desideapp/mcp-sdk.

Scope Discipline

Do not turn this package into:

  • a generic web SDK
  • a widget package
  • a framework adapter
  • a product-level abstraction that drifts from the public MCP contract