open-index/open-npm huggingface dataset:
npm package: @hopperd-sdk/core
Description: Observability for MCP servers
Author: Hopperd
Latest version: 0.1.4

# @hopperd-sdk/core

Analytics and instrumentation for MCP servers with automatic user intent
capture.

## Installation

```bash
npm install @hopperd-sdk/core
```

## Quick Start (Recommended)

One line of code to track all your tools with automatic user intent capture:

```typescript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { track } from '@hopperd-sdk/core'
import { z } from 'zod'

// Create your MCP server
const server = new McpServer({
  name: 'my-server',
  version: '1.0.0',
})

track(server, {
  apiKey: process.env.HOPPERD_API_KEY,
  serverName: 'my-server',
})

server.tool(
  'get-weather',
  'Get weather forecast',
  {
    location: z.string().describe('Location to get weather for'),
  },
  async ({ location }) => {
    // Your tool logic here
    const weather = await getWeatherData(location)
    return {
      content: [
        {
          type: 'text',
          text: `Weather in ${location}: ${weather}`,
        },
      ],
    }
  },
)

// All tools are now automatically tracked!
```

## How It Works

The `track()` function automatically:

1. **Enhances tool schemas** with a `_context` parameter
2. **Captures user intent** - AI explains why the tool was called
3. **Tracks everything** - params, results, errors, duration
4. **Keeps tools clean** - handlers receive params without `_context`

When an AI assistant calls your tool, it automatically provides context:

```json
{
  "location": "New York",
  "_context": "User wants to check weather conditions before planning outdoor activities"
}
```

This context is captured as "user intent" in your analytics!

## Configuration

```typescript
track(server, {
  apiKey: 'hopp_your_api_key',
  serverName: 'my-mcp-server',
})
```

**Required:**

- `apiKey` - Your Hopperd API key
- `serverName` - Name to identify this server in analytics

## What Gets Tracked

Every tool call captures:

- **Tool name** and **server name**
- **Full parameters** (JSON)
- **User intent** - AI's explanation of why the tool was called
- **Results** - Complete tool output (JSON)
- **Errors** - Full error messages and stack traces
- **Duration** - Execution time in milliseconds
- **Timestamps** - When tools are invoked

All tracking is done asynchronously and will not impact your MCP server
performance.

## Key Benefits

- ✅ **One-line setup** - No manual tool wrapping
- ✅ **Automatic user intent** - Understand why users call your tools
- ✅ **Full debugging data** - Complete params, results, and errors
- ✅ **Zero tool changes** - Tools work exactly as before
- ✅ **Transparent operation** - Handlers receive clean parameters
npm package: @hopping/cli
Description: Like Homebrew Casks, for Progressive Web Apps!
Latest version: 0.0.7

<p align="center"><img width="250px" src="./assets/header.png"></p>

---

<p align="center">
<i>The Web's Missing Package Manager</i>
</p>

If you're reading this, then you've stumbled across Hop, a CLI tool for installing web apps as native desktop applications! While tools like [nativefier](https://github.com/nativefier/nativefier) and [WebCatalog](https://webcatalog.app/) exist, they're either too complicated or too limiting for the average user to use. You shouldn't need to type a long command to generate a desktop version of your favorite web app, and you _especially_ shouldn't have to pay for it!

With Hop, installing a beautiful, pre-made version of your favorite app is as simple as:

![Hop](./assets/hop.gif)

## Installing

To get started with Hop, you'll need to install it globally:

```
npm install -g @hopping/cli
```

Then just run `hop` from any directory!

## How It Works

Similar to Homebrew, all of the apps supported by Hop are stored in this repository, under the `apps` folder. Each app has a manifest and an optional icon.

Under the hood, Hop will pass the app manifest as a series of configuration options to [nativefier](https://github.com/nativefier/nativefier), which will build your app into a temporary directory, then automatically copy it to your system's applications.

## Contributing

A contribution framework is still being ironed out. For now, if you want to add your own web application or a manifest for an existing web app, just open a PR! If you have a design sense and would like to help contribute to icon development, all of the Hop app icons live [in this Figma file](https://www.figma.com/file/QQOdNUBnwGGimz8vXxDiVJ/Hop-App-Icons?node-id=0%3A1), which can be forked and added to an issue (seeing code changes are required to open PRs).

## The Name

The name Hop was chosen to stick with the beer-themed naming of Homebrew (brew, taps, cask, etc.). [Hops](https://en.wikipedia.org/wiki/Hops) are a flower used in the brewing of beer. Alternatively, you can think of HOP as a backronym: Homebrew On PWA (progressive web apps).

## Limitations

This codebase is in its infancy, and currently has only been confirmed to work on macOS. Additional code will need to be added to add support for Windows and Linux.