Skip to content

Commit 78a6d2b

Browse files
committed
docs: remove read-only wording from user-facing copy
1 parent 52208ea commit 78a6d2b

10 files changed

Lines changed: 19 additions & 19 deletions

File tree

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
55
[![CI](https://github.com/Abstract-Foundation/agw-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/Abstract-Foundation/agw-mcp/actions/workflows/ci.yml)
66

7-
Read-only MCP server for Abstract wallet, chain, and Portal API data.
7+
MCP server for Abstract wallet, chain, and Portal API data.
88

99
## Quick Start
1010

@@ -13,7 +13,7 @@ npx -y @abstract-foundation/agw-mcp init --chain-id 2741
1313
npx -y @abstract-foundation/agw-mcp serve --chain-id 2741
1414
```
1515

16-
`init` opens the hosted onboarding app (`https://mcp.abs.xyz` by default), links your wallet address for local read-only context, and writes `~/.agw-mcp/session.json`.
16+
`init` opens the hosted onboarding app (`https://mcp.abs.xyz` by default), links your wallet address for local context, and writes `~/.agw-mcp/session.json`.
1717

1818
## Client Configuration
1919

@@ -40,9 +40,9 @@ npx -y @abstract-foundation/agw-mcp config --npx --chain-id 2741
4040
| `portal_get_app` | Fetches Portal app detail (`/api/v1/app/{id}/`) |
4141
| `portal_list_streams` | Lists streams for a Portal app (`/api/v1/streams/{app}/`) |
4242
| `portal_get_user_profile` | Fetches Portal user profile (`/api/v1/user/profile/{address}/`) |
43-
| `abstract_rpc_call` | Calls allowlisted read-only Abstract JSON-RPC methods |
43+
| `abstract_rpc_call` | Calls supported Abstract JSON-RPC methods |
4444

45-
### `abstract_rpc_call` read-only constraints
45+
### `abstract_rpc_call` constraints
4646

4747
Blocked by design in v0:
4848
- `eth_sendRawTransaction`
@@ -81,7 +81,7 @@ npx -y @abstract-foundation/agw-mcp init --chain-id 2741 --app-url http://localh
8181

8282
## Security Model (v0)
8383

84-
- **Read-only MCP surface**: no signing, transfers, swaps, deploys, or session-key actions exposed.
84+
- **Scoped MCP surface**: no signing, transfers, swaps, deploys, or session-key actions exposed.
8585
- **No delegated signer provisioning in onboarding**: local context stores wallet address + chain only.
8686
- **Local-only transport**: stdio MCP (no network listener).
8787
- **Restrictive file permissions**: storage dir `0o700`, files `0o600`.

app/src/components/SessionWizard/steps/Creating.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export default function Creating({
7474
<Card>
7575
<CardHeader>
7676
<CardTitle>Linking Wallet</CardTitle>
77-
<CardDescription>Preparing read-only wallet context for your local MCP server.</CardDescription>
77+
<CardDescription>Preparing wallet context for your local MCP server.</CardDescription>
7878
</CardHeader>
7979
<CardContent>
8080
<p className={styles.helper}>

app/src/components/SessionWizard/steps/NotLoggedIn.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ export default function NotLoggedIn() {
2525
</div>
2626
</CardHeader>
2727
<CardContent className={styles.loginContent}>
28-
<CardTitle>AGW MCP Read-Only Onboarding</CardTitle>
28+
<CardTitle>AGW MCP Onboarding</CardTitle>
2929
<CardDescription>
30-
Connect your Abstract Global Wallet to link local read-only MCP access.
30+
Connect your Abstract Global Wallet to link local MCP access.
3131
This does not create session keys or delegated signer access.
3232
</CardDescription>
3333
</CardContent>

app/src/components/SessionWizard/steps/Success.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default function Success() {
3434
</p>
3535
) : null}
3636
<p className={styles.helper}>
37-
After returning to CLI, start the read-only server with <code>agw-mcp serve</code>.
37+
After returning to CLI, start the server with <code>agw-mcp serve</code>.
3838
</p>
3939
</CardContent>
4040
<CardFooter className={styles.footer}>

src/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ function resolveCliVersion(): string {
2626
}
2727

2828
const program = new Command();
29-
program.name("agw-mcp").description("Read-only MCP server for Abstract wallet + chain data").version(resolveCliVersion());
29+
program.name("agw-mcp").description("MCP server for Abstract wallet + chain data").version(resolveCliVersion());
3030

3131
program
3232
.command("init")
33-
.description("Link a wallet for read-only local AGW MCP context")
33+
.description("Link a wallet for local AGW MCP context")
3434
.option("--chain-id <chainId>", "EVM chain id (env: AGW_MCP_CHAIN_ID)")
3535
.option("--rpc-url <rpcUrl>", "RPC URL override (env: AGW_MCP_RPC_URL)")
3636
.option("--app-url <url>", "Hosted onboarding URL (defaults to https://mcp.abs.xyz; env: AGW_MCP_APP_URL)")
@@ -54,7 +54,7 @@ program
5454
storageDir: options.storageDir,
5555
});
5656
manager.setSession(session);
57-
logger.info("Wallet linked for read-only MCP usage. You can now run `agw-mcp serve`.");
57+
logger.info("Wallet linked. You can now run `agw-mcp serve`.");
5858
});
5959

6060
program
@@ -74,7 +74,7 @@ program
7474

7575
program
7676
.command("serve")
77-
.description("Run the local stdio read-only MCP server")
77+
.description("Run the local stdio MCP server")
7878
.option("--chain-id <chainId>", "EVM chain id (env: AGW_MCP_CHAIN_ID)")
7979
.option("--rpc-url <rpcUrl>", "RPC URL override (env: AGW_MCP_RPC_URL)")
8080
.option("--storage-dir <dir>", "Session storage directory")

src/integrations/abstract-rpc/client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ const DEFAULT_TIMEOUT_MS = 10_000;
6666

6767
export function assertMethodAllowed(method: string): void {
6868
if (BLOCKED_METHODS.has(method)) {
69-
throw new Error(`RPC method "${method}" is disabled in read-only mode.`);
69+
throw new Error(`RPC method "${method}" is not enabled in this build.`);
7070
}
7171
if (!ALLOWED_METHODS.has(method)) {
72-
throw new Error(`RPC method "${method}" is not in the v0 allowlist.`);
72+
throw new Error(`RPC method "${method}" is not supported in this build.`);
7373
}
7474
}
7575

src/session/manager.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export class SessionManager {
3232
}
3333

3434
this.session = session;
35-
this.logger.info(`Loaded read-only session for ${session.accountAddress}`);
35+
this.logger.info(`Loaded linked wallet session for ${session.accountAddress}`);
3636
}
3737

3838
getSession(): AgwSessionData | null {

src/tools/abstract-rpc-call.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { ToolHandler } from "./types.js";
55
export const abstractRpcCallTool: ToolHandler = {
66
name: "abstract_rpc_call",
77
description:
8-
"Call an allowlisted Abstract JSON-RPC method in strict read-only mode (no sendRawTransaction/debug/pubsub/filter lifecycle).",
8+
"Call supported Abstract JSON-RPC methods in this build (no sendRawTransaction/debug/pubsub/filter lifecycle).",
99
inputSchema: {
1010
type: "object",
1111
properties: {

test/abstract-rpc-call.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ describe("abstract_rpc_call tool", () => {
4040
const tool = getTool("abstract_rpc_call");
4141

4242
await expect(tool?.handler({ method: "eth_sendRawTransaction", params: [] }, buildContext())).rejects.toThrow(
43-
"disabled in read-only mode",
43+
"not enabled in this build",
4444
);
4545
});
4646
});

test/bootstrap.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ describe("bootstrap callback/session bundle flow", () => {
6363
expect(parsed.chainId).toBe(11124);
6464
});
6565

66-
it("materializes minimal read-only session bundle", () => {
66+
it("materializes minimal session bundle", () => {
6767
const now = 1_800_000_000;
6868

6969
const session = materializeSessionFromBundle(

0 commit comments

Comments
 (0)