open-index/open-npm huggingface dataset:
npm package: @permamind/mcp
Description: MCP server for Agent Skills Registry - exposes publish, search, and install to Claude AI
Author: Permamind Contributors
Latest version: 1.0.20

# @permamind/mcp

MCP server for Agent Skills Registry - publish, search, and install Claude Agent Skills through natural language.

## Installation

No installation needed - runs via npx.

## Configuration

Add to your `.mcp.json`:

```json
{
  "mcpServers": {
    "permamind-skills": {
      "command": "npx",
      "args": ["@permamind/mcp@latest"],
      "env": {
        "SEED_PHRASE": "your twelve word seed phrase here"
      }
    }
  }
}
```

Restart Claude Code to load the server.

### Environment Variables

- `SEED_PHRASE` (required): 12-word BIP39 mnemonic for wallet generation
- `LOG_LEVEL` (optional): `error`, `warn`, `info`, `debug` (default: `info`)
- `REGISTRY_PROCESS_ID` (optional): Custom AO registry process ID
- `INSTALL_LOCATION` (optional): Custom skill install directory (default: `~/.claude/skills`)

## Usage

### Check Server Health

```
User: Check if the skills MCP server is working
```

Returns server status, version, and wallet address.

### Search for Skills

```
User: Search for skills about blockchain
```

```
User: Find skills tagged with "ao" and "arweave"
```

Returns list of matching skills with names, versions, descriptions, and authors.

### Install Skills

```
User: Install the ao-basics skill
```

```
User: Install ao-basics version 1.0.0
```

Installs the skill to `~/.claude/skills/` with automatic dependency resolution.

### Publish Skills

```
User: Publish the skill in /absolute/path/to/skill-directory
```

Publishes the skill to Arweave and registers it in the AO registry. Returns transaction ID and gateway URL.

## Requirements

- Node.js ≥ 20.11.0
- 12-word BIP39 seed phrase
- Arweave wallet with AR tokens (for publishing only)

## Tools Available

- `ping` - Health check
- `search_skills` - Search registry by keyword/tags
- `install_skill` - Install skills with dependencies
- `publish_skill` - Publish skills to registry

## Troubleshooting

**Server not loading?**
- Restart Claude Code after editing `.mcp.json`
- Check `SEED_PHRASE` is exactly 12 words
- Set `LOG_LEVEL: "debug"` to see detailed logs

**Publish fails?**
- Ensure wallet has AR tokens
- Verify SKILL.md has valid frontmatter
- Check Arweave gateway connectivity

**Can't find skills?**
- Try broader search terms
- Remove tag filters
- Search with empty query to list all skills

## License

MIT
npm package: @permanentorg/sdk
Description: Functional Node.js SDK for Permanent.org
Author: Permanent.org
Latest version: 0.10.1

![lint](https://github.com/PermanentOrg/permanent-sdk/actions/workflows/lint.yml/badge.svg)
![test](https://github.com/PermanentOrg/permanent-sdk/actions/workflows/test.yml/badge.svg)
[![codecov](https://codecov.io/gh/PermanentOrg/permanent-sdk/branch/main/graph/badge.svg?token=MKQZQ1VKHY)](https://codecov.io/gh/PermanentOrg/permanent-sdk)

# @permanentorg/sdk
This project is a TypeScript SDK for interfacing with Permanent.org's API.

You can view [the project's changelog](CHANGELOG.md) to learn more about our releases.

## Code

The project is organized as follows:

```
- docs // Contains documentation related to the project
- src  // Contains all project code
| - sdk   // The core / exposed functionality of the SDK
| - utils.ts
| - types.ts
| - index.ts // project root, exports the full contents of /sdk and the externally needed types from types.js
```

## Publishing

This can be published to npm with the `publish (npm)` GitHub
Action. Make sure to update the [change
log](https://github.com/PermanentOrg/permanent-sdk/blob/main/CHANGELOG.md)
and increase the version number in package.json when you do so.

## Contributing

Contributors to this repository agree to adhere to the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). To report violations, get in touch with engineers@permanent.org.

The version of NodeJS used for development is specified in `.node-version` located at the project root.

Be sure to include updates to the [changelog](CHANGELOG.md) as part of any contribution.

## Security

Found a vulnerability? Report this and any other security concerns to engineers@permanent.org.

## License

This code is free and open source software licensed under the [MIT](LICENSE) License.
npm package: @permaweb/aos-cli
Description: > NOTE: This is very experimental, use for research and development purposes only.
Author: Tom Wilson
Latest version: 1.2.7

# AOS REPL

> NOTE: This is very experimental, use for research and development purposes only.

The repl is a thin client to access and execute ao contracts on the permaweb.

## Getting Started

```sh
# create new project add arweave
yarn init -y
yarn add arweave

# Generate Wallet
node -e "require('arweave').init({}).wallets.generate().then(JSON.stringify).then(console.log.bind(console))" > wallet.json

# Boot up AOS
npx @permaweb/aos-cli@latest wallet.json
```

The wallet creates a personal process that allows you to use as a repl, you can send it commands and it will evaluate and return output.

## About

AOS-CLI is a simple REPL that connects to a Personal AOS Process in the AO network. The AO network is a messaging passing process architecture. A Personal AOS Process is like a CPU on the Arweave Network. This repl will allow you to pass LUA expressions to your process, and those expressions get evaluated and return output to your screen.  

## Examples

When you boot up the OS, you can use https://lua.org to run expressions on your AOS Process.

First try "Hello AOS" - the return keyword sets the output variable that is passed to the output on the screen.

```lua
"Hello AOS"
```

You should get `Hello AOS`

> What is happening here? You input, is getting wrapped in an signed AO message and submitted to a `mu` or messenger unit, which then forwards it to a `su` or Sequencer Unit, then the REPL app, calls the `cu` compute unit to evaluate the AO Message with your Personal Process. This generates output to be returned for display.

Lets try another expression:

```lua
1 + 41
```

You should get `42` the answer to the universe :P

So, thats cool, you can send expressions to the AO network and get them evaluated and get a response.

You can also set variables:

```lua
a = "Hello AOS"
```

Then type `return a` and you should get `Hello AOS`, neat

You can also create functions:

```lua
sayHi = function (name) return "Hello " .. name end
return sayHi("Sam")
```

You should get `Hello Sam`

Woohoo!

We can also pass messages to other AOS Processes!

```lua
return send("9ps7pnC7hpdCYJGJujAg_QY-cyKbQ1GoaE5h-4elI9c", { body = "Hi Tom!" })
```

Or you can check your messages ( by creating a message check function)

```lua
function checkInbox() local o = ""; for i,v in ipairs(inbox) do o = o .. v.body .. '\n' end; return o; end
checkInbox()
```

`[{"from":"9ps7pnC7hpdCYJGJujAg_QY-cyKbQ1GoaE5h-4elI9c","body":"Hi"}]`